WIP client: min client for discovery

@unihorn Then you end up with a struct with hundreds/thousands/millions of unnecessary combinations that go untested.