small fixes that left uncomitted: i mostly decoupled tree of variants from implementation;