implemented download and fixed shell