extract Selector interface