implement review and rating model