starting to refactor and simplify custom ratings

for scalability