moved query ops into their own header to avoid compiling the parser multiple times