client for exercise 3