Added interface for choosing which generator to use