refactor(client): refactor client