restructured class value_option