Rinse and drain beans in a colander. Put the beans in a large dutch oven and cover with water. Bring to boiling.
Reduce heat and simmer for 2 minutes. Remove from heat, cover and let stand for one hour. (Or, soak the beans overnight in a covered pot.)
Drain and rinse the beans.
In the same pot, combine the soaked beans, 8 cups fresh, filtered water, the ham bone or hocks, onion, celery, thyme, salt and pepper. Bring to a boil.
Reduce heat, cover and simmer about an hour or until beans are nearly tender.
Stir in potatoes, cabbage and carrots. Return to boiling then reduce heat. Cover and simmer about 20 minutes more or until vegetables are tender.
Remove ham bone or pork hocks from the pot. When cool enough to handle, cut the meat off the bones, coarsely chop it and add it back to the soup. Discard the bones.
Slightly mash the beans and vegetables in the pot. Return the meat to the pot and cook till heated through. Makes about 8-10 main dish servings.