update several rating functions and view controller separation