first commit
code clean