client code generator