modify shell
refactor