fooling around with finite differences