         self.route = route
     }
 
-    func matches(request: Request) -> Bool {
+    func matches(_ request: Request) -> Bool {
         guard let path = request.path else {
             return false
         }
         return regex.matches(path)
     }
 
-    func parameters(request: Request) -> [String: String] {
+    func parameters(_ request: Request) -> [String: String] {
         guard let path = request.path else {
             return [:]
         }

        self.regexRoutes = routes.map(RegexRoute.init)
    }

    public func match(request: Request) -> Route? {
        for regexRoute in regexRoutes  {
            if regexRoute.matches(request) {
                let parameters = regexRoute.parameters(request)

}

extension Dictionary {
    func mapValues<T>(_ transform: Value -> T) -> [Key: T] {
        var dictionary: [Key: T] = [:]

        for (key, value) in self {
