shell controller