cleaned up doc generation