add doc generator