Sauté the onion on medium-heat in olive oil for 5 min or until soft, and then add carrot and celery, cooking 5 minutes more.
Add garlic and seasonings, stirring one minute, until fragrant.
Add beans, squash (if using) and water or stock and bring to a boil. Reduce to a simmer and cover for 30-45 minutes.
Remove from heat and discard the bay leaf. Stir in lime juice and purée until desired texture is reached. Sprinkle with cilantro and avocado for garnish.