Alpha version minus tutorials

It's done! Alpha version has been implemented. A lot of the code is
still really messy, but it works well. No stress testing yet.