* adds some mixins
* splits into files