differentiation:add some