gogo
merge ikitty's code in the master branch
gogo
merge from master
code clean up