A lot of updates. Should redo these updates to make better commit messages.