I don't understand why this is a separate method from `query`.