changed mixin to ensure you don't have to specify before/after each time