Issue 6

Add a new Client class and makes more code reusable