In a large pot, brown up bacon. Remove bacon from pan and put a side.
In the bacon fat remaining in pot, place 1/2 diced onion in and saute for 1-2 minutes. Add garlic and saute an additional 1 minute.
Place beans into pot and stir. Add all remaining ingredients, except the butter.
Bring to a boil and then lower heat to low and simmer for 1-2 hours depending on crispness level of your bean.
About 1/2 way through, add butter, stir, and taste for seasoning adjustment. Let simmer the rest of time, until desired doneness is achieved.
Drain beans, add some more butter and crumble bacon into beans. Mix well.
Serve and Enjoy!