* refactor mdns to reduce code complexity * unit tests