refactored selector types