add pull and addToSet operators
simplify selectFirst