added promise shim lib
reimplemented chat client wrapper for async operations