revert option only where possible
refactoring
refactoring
refactoring
improve usability