rework upgrade to allow for tarball as argument