Soak the beans in lots of water overnight.
Next day drain the beans and rinse them, checking for any stray stones.
Boil in plenty of water with the bay, half onion, garlic and epazote until tender, which takes 1-2 hours-keep checking the level of the water and top up a little if the beans are drying out. When the beans are soft remove the onion and bay, drain and set aside.
In a large saucepan, fry the onion in the olive oil until soft. Add the garlic and chilli to the onion and fry until fragrant. Then add the paprika, epazote, coriander & cumin and quickly stir-fry.
Add the cooked beans, orange & lime juice and cook gently until the beans begin to break down and the fruit juice has been absorbed. Add a little water if the mix gets too thick and then taste-add sugar, salt and pepper to your taste.