Refactor
Update doc