Added Homologue class, refactored