upload functional again