moving on in modularizing autodiff