differentiable
not defined yet