split the client into a separate library
Merge pull request #1 from rpedde/split-client-library

split the client into a separate library