put FitGenerator in its own file