almost done adding mixins
made generating components a mixin to increase efficiency