add option and variant
fixed pull conflicts