change Client to interface