lots of refactoring, added new list to display unique devices, not yet
tested