Merge branch 'feature' into 'master'

clean code, add branch setting
clean code, add branch setting
should use Set
可能还得生成test了
fix bug, copy not using this way
Merge branch 'feature' into 'master'

Feature