add generator demo