                     }
                     print("Answer to ring,ring is: \(count) bytes: \(block)")
                 }
-                .connect("23.64.166.184:80") { socket in
-                        socket.write("GET /us-en/ HTTP/1.1\r\nHost: www.ibm.com\r\n\r\n")
+
+                let isConnected = socket.connect(addr) { socket in
+                    socket.write("GET /us-en/ HTTP/1.1\r\nHost: www.ibm.com\r\n\r\n")
                 }
+
                 expect(isConnected) == true
             }
 

            }

            it("will eventually fail") {
                expect("time").toEventually( equal("time") )
            }
            
            context("these will pass") {

                it("can do maths") {

            }

            it("can connect to IBM") {
                var addr: sockaddr_in!

                gethoztbyname("www.ibm.com") { (_, _, a: sockaddr_in?) in
                    guard a != nil else {
                        print("Unable to get DNS entry for www.ibm.com")
                        return
                    }
                    addr = a!
                }

                guard addr != nil else {
                    print("Unable to get DNS entry for www.ibm.com")
                    return
                }

                addr.sin_port = in_port_t(htons(CUnsignedShort(80)))

                let socket: ActiveSocket<sockaddr_in>! = ActiveSocket<sockaddr_in>()

                socket.onRead { sock, _ in
                    let (count, block, errno) = sock.read()
                    guard count > 0 else {
                        print("EOF, or great error handling \(errno).")
