Added component upload logic