added custom derivative step-size