add generator code