init generators
refactor generators