Lots of changes

First commit in a long time, lots of changes.