improved OptionState