implement Query.First