final differentiation