deal with shell