WIP client: min client for discovery

well it *is* a factory :) I don't really care that much about the name