moving from generator to container
adding Generator template class, and replacing former concrete generators with concrete container classes