all and new
refactor doc