more general forms of tests and exp(i) and log(exp(i)) handling