moving work for #81 into a common mixin