Added broker and client implementations for part3