--interactive option and refactoring