added mixin support