rewrite DeviceInRangeService pattern and interaction