automatic source doc generation