Ignoring upload directory
Refactor ALL the things.
Merging changes from master