task 3 done: finite difference