refactoring
update document