Changed to mixins for easier use