add option parse spec
implement option_parse