[RFC] Refactor codebase

cc @mlubin @IainNZ 
What about just normalizing and taking absolute value?