Refactored upload also