add generator, docs