added mixin and demo