implmented uploadVC