don't need conflict_handler, or duplicate opt