puppy client engine