Added and changed tons of stuff

Too lazy to commit every few minutes, and add a full changelog.