Is it possible to extract the steps needed to produce the final answer? for example. `(a*2)/2` -step1-> `a*(2/2)` -step2-> `a` rule of step1: `(x*y)/z --> x*(y/z)` rule of step2: `x/x --> 1`