moves genre validation into the service