minor simplification enabled by quasiquotes