refactor selector splitting