added is_client method