further functional simplifications