We should really use mixins to reduce repetition here. I think I understand the context enough to help you get started tomorrow.