added device discovery