add offline graph generation module