Generified shell completely.