second cut of vApp upload code