issue #22: forward difference