modify copyright
aaa
rearrange code