Use a mixin to reduce redundancy