refactor doc