new selector api