move legacy generator code into separate project