improve mixin handling