Refactored project structure
Made full upload transactional
Cleaned up gitignore