initial commit
Merge branch 'master' into testing
tested server side
added unit tests for client side