use shared rating component