Merge pull request #2 from abhinavsingh/develop

Refactoring, protocol update, tests, documentation
v0.1.2
merge