                 }
                 
                 it("should return false if it cannot open the route due to no match") {
-                    router.map("routingexample://route") { (_, _, completed) in completed() }
+                    router.map("routingexample://route") { (_, _, _, completed) in completed() }
                     expect(router.open(NSURL(string: "routingexample://incorrectroute/")!)).to(equal(false))
                 }
                 
                 it("should call the binded closure corresponding to the opened route") {
                     var isOpened = false
-                    router.map("routingexample://route") { (_, _, completed) in
+                    router.map("routingexample://route") { (_, _, _, completed) in
                         isOpened = true
                         completed()
                     }

                
                it("should pass query parameters specified in the route in the parameters dictionary") {
                    var param: String?
                    router.map("routingexample://route") { (_, parameters, completed) in
                        param = parameters["param"]
                        completed()
                    }

                it("should process urls in a serial order") {
                    var results = [String]()
                    
                    router.map("routingexample://route/:append") { (_, parameters, _, completed) in
                        results.append(parameters["append"]!)
                        
                        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (1 * Int64(NSEC_PER_SEC))), testingQueue, completed)
                    }
                    
                    router.map("routingexample://route/two/:append") { (_, parameters, _, completed) in
                        results.append(parameters["append"]!)
                        completed()
                    }
