Added duplex support and client utility classes