makes use of active_support

adds require and removes the extend on mixin