Refactor Client

I think Client can be more simpler.