refactored genres to use a mixin