change Client to be protected instead of private