Refactoring on Shell interface