add reverse and diff transformations
switch into only using numpy arrays in transformations