organize packages more clearly
turn BestResultRepository into a bean