upgraded doc: refactore