basic shell done