added selection mixin