Refactor, split shell part.