jacobian now supports all kinds of variables