added a stack of differentials and made a function or two a shave more efficient.