Finished adding mixins and refactoring