Big Commit

Should have split this up better, but I didn’t. So I changed
everything. I like this direction a lot more.