The night before you are going to make the soup wash the beans. After washing them put them in a medium bowl and cover them with water, making sure to have the water about one or two inches above the beans.
On the day that you are doing to make the soup, drain the water off of the beans and set aside.
In a large Dutch oven or a soup pot add the olive oil and heat over medium heat. Add the onion, celery, garlic, and carrots; cook until the vegetables begin to soften.
Add the 8 cups of water and the beans, stir together.
Place the ham bone in the Dutch oven with the other ingredients.
Add the bay leaves.
Bring to a boil; once the soup starts to boil turn the soup to medium-low.
Continue to cook until the beans are tender, about 2 to 4 hours (time will vary depending on the temperature of the stove).
Once the beans are tender remove the ham bone and bay leaves. Remove the ham from the bone and chop place back in the soup. If you want additional ham add at this time.
Season with salt and pepper to taste
Prep time does not include the time to soak the beans