move upload into __init__
to avoid risk of calling repeatedly on same object