Improved design to make recommender and algorithm modular. Also Controller is now in use