client code restructured