docs generation + templates