moved redundant calls into a mixin