Code refactoring
Merge branch 'new-features'
update readme