add generator and examples