add generics to query operators so can reuse for parameter lists