rev version of module AND index structure for variants serialization
work in progress - take 2 on variants implementation