added methods for derivative estimation from finite differences