implemented further automatic differentials.