This is one of our favorite fall/winter soups. And we really, Really, REALLY like it when it's served with warm, buttered cornbread. Like all of my cooking, everything is made from scratch (how I cook). Obviously you can add any sort of pre-prepared products as the situation dictates.
Measure out beans and sort to remove any debris. Add 3-cups of water, a tablespoon of oil, and half a tablespoon of salt for each cup of dry beans. Bring to a boil, and cook with the cover slightly ajar for about an hour or so. Drain casually (reserve some of the "juice").
Brown the meat. Reserving any fats for the onions.
Chop the onions and brown them in the fat from the meat, adding the butter as/if necessary.
Add in the rest of the ingredients and simmer for at least an hour (while you make the cornbread).
Top with sliced avocados, a dollop of sour cream, and a squeeze of lime if desired.