add variants parsing