added tanh, still untested