switched to using a simple multiplexor for the client code