slight refactoring of generators