refactoring Shell object
refactor shell object