Documentation rewrite