finalized version of shell