it might be better to put this into a common discovery class that both discovery impls inherit from?