why not using mixin?