moved client to own package
refactor - to support websocket
websocket primitive implementation