refactor size mixin