move sampling operators, and add experimental query-channel