WIP client: min client for discovery

please start with an interface!