add an untested function that tries to do ambitious things with derivatives