add some comments
new version