refactoring & CLI
refactoring & cli