added differentiate function