better formulation of returnFirst, can handle multiple arguments