Pick over the dried beans and discard any debris.
Wash and drain and put beans in a large pot and cover with water.
Let stand 8 hours or overnight.
The next day, chop celery, carrots and onions into 1/4-inch pieces. (This is easier with a food
Drain beans and add vegetables, 5 cups water, ham hocks or ham bone, and pepper to taste and add salt if you wish.
Bring to a simmer and cook over low heat for 3 hours or until beans are tender.
Remove ham hocks and set aside to cool.
Remove meat from bones and cut meat into half-inch pieces.
Put 2 cups of the soup into a blender along with the butter and flour; puree.
Pour this puree back in pan.
Puree more of the soup if you prefer a smoother texture and add the chopped ham pieces back into the soup.
Simmer for 15-20 minutes until soup is slightly thickened.
Good when sprinkled with a few drops of hot pepper sauce just before serving.