generic OptionItem