Got a bunch of work done! Current implementation compiles, time to write a testbench!