Merged in setup & added all required functions

Functionally Complete, but heavy debugging required, and matchups still
wonky.