lots of changes...some are really unnecessary, some are really important, but not any great functionality added
(really stupid commit)