tried to separate RecommenderSystem into setup and run phase