Simplified the reduction process and ditched a large number of helper functions and other junk in the process