use more standard q function call