Added a bunch of stuff. Too lazy to list