starting working on symbolic differentiation