refactoring selector