finished working version of upgraded shell