refactored python recommender to accept arguments. decoupled logic for mock data and real data