Rinse the beans and discard any bad beans.
Heat beans and water or chicken broth to boiling; boil gently for 2 minutes.
Remove beans from heat, cover and let stand for an hour.
In the meantime, chop the onion, carrots and celery.
After the hour is up, add the ham hock, the chopped vegetables, bay leaf, and season with salt and pepper. Heat until boiling.
Reduce the heat; cover and simmer for about 1 hour and 15 minutes or until the beans are soft.
Skim off the bone occasionally .
Remove the bay leaf and ham bone. Trim any meat from the bone and return back to the soup. Season to taste and serve.