improve doc generation