diff --git a/snapcast.py b/snapcast.py
index 34297abb6b564a49cc9eaca3dc1b2ba011812044..0aecb224446df26f1b89572d1c31c932520827fa 100644
--- a/snapcast.py
+++ b/snapcast.py
@@ -1,27 +1,35 @@
 from zeroconf import ServiceBrowser, Zeroconf
+import snapcast.control
 
 
 class Scanner:
 
+    services = []
+
     def remove_service(self, zeroconf, type, name):
         print("Service %s removed" % (name,))
 
     def add_service(self, zeroconf, type, name):
-        snapcast_server = []
         info = zeroconf.get_service_info(type, name)
-        snapcast_server.append(name, info)
+        self.services.append(info)
 
 
-zeroconf = Zeroconf()
-listener = Scanner()
-browser = ServiceBrowser(zeroconf, "_snapcast._tcp.local.", listener)
+def get_snapcast_server(services):
+    '''scan for services then find snapcast server'''
+    zeroconf = Zeroconf()
+    listener = Scanner()
+    ServiceBrowser(zeroconf, "_snapcast._tcp.local.", listener)
+    server = snapcast.control.Snapserver(services, snapcast.control.
+                                         CONTROL.PORT)
 
-try:
-    input("Press enter to exit...\n\n")
-finally:
-    zeroconf.close()
+    while services == []:
+        pass
+    return server
 
 
-def get_snapcast_client():
-    pass
+def get_snapcast_client(server):
+    '''scan through list of clients to find correct one'''
+    for client in server.clients:
+        print(client.name)
+        print(client.identifier)
     # TODO Scroll through list of clients and find right one