Update readme
Refactor some code
Update semver