move search method to mixin