refactoring Options