documentation rewriting complete