started refactoring data generator