handles nested variations properly now