I'd consider renaming `query` in something else to be less confusing