add P&C pattern to client