Viewpoint client code