Heat the oil in a large pot over medium heat. When it shimmers, add the onions, carrots, celery, and garlic and cook for a few minutes to soften. Add the beans, oregano, and spices of your choice. Season with salt and pepper, to taste, and cook, stirring frequently, until you can smell all your spices. Add the tomatoes with juices, water, and cilantro, and bring to a boil. Reduce the heat to low and simmer until slightly thickened, about 30 minutes. Season, to taste, with salt and pepper, if needed. Transfer to a large serving bowl and serve with avocado, sour cream, and cheese.