new client code

in typescript