         drop.group(pathCreator.blogPath ?? "") { index in
             index.get(handler: indexHandler)
             index.get(blogPostsPath, String.self, handler: blogPostHandler)
-            index.get(tagsPath, BlogTag.self, handler: tagViewHandler)
-            index.get(authorsPath, BlogUser.self, handler: authorViewHandler)
+            index.get(tagsPath, String.self, handler: tagViewHandler)
+            index.get(authorsPath, String.self, handler: authorViewHandler)
         }
     }
     

        return try drop.view.make("blog/tag", parameters)
    }
    
    func authorViewHandler(request: Request, author: BlogUser) throws -> ResponseRepresentable {
        return try viewFactory.createProfileView(user: author, isMyProfile: false)
    }
    

        return try drop.view.make("blog/blogpost", parameters)
    }
    
    func tagViewHandler(request: Request, tagName: String) throws -> ResponseRepresentable {
        guard let tag = try BlogTag.query().filter("name", tagName).first() else {
            throw Abort.notFound
        }
        let posts = try tag.blogPosts()
        
        var parameters: [String: Node] = [
