add extend mixin