improved selector