refactor shells
modify order