Client Refactor
Client Refactor