First commit

All of the code. It doesn't work right now though...gonna fix that at
some point.