improve sample, key-value option and contradictable option