refactoring: split terminal and shell