cleanup and refinements, started a couple of new mixins