add ackermann, extend newton