added discovery_timeout parameter