[DO NOT MERGE] Initial commit of refactor. Still contains old code.

It looks like he is properly doing this on line 65, probably just need to make it so that it is more obvious.