upload from shell