options refactoring