I change some logic
Merge branch 'refactor' into refactor_review