some refactoring
new version
update README