public HomeModule(IBlogRepository blogRepository) { _blogRepository = blogRepository; Get["/"] = parameters => View["Index"]; Get["/blog/page/{pagenumber}"] = parameters => { int pageNumber = parameters.pagenumber ?? 1; Paged<Post> model = _blogRepository.GetBlogUrlFriendlyPosts(Domain, pageNumber); return View["Blog", model]; }; Get["/blog/{title}"] = parameters => { string title = (string)parameters.title; Post model = _blogRepository.GetPost(title, Domain); return View["BlogDetail", model]; }; //I know you can do Get[""] = ReturnTagModelAndView; but its hard to tell which route is being invoked Get["/blog/tag/{tagname}"] = parameters => ReturnTagModelAndView(parameters); Get["/blog/tag/{tagname}/page/{pagenumber}"] = parameters => ReturnTagModelAndView(parameters); Get["/blog/rss"] = parameters => { //return first page Paged<Post> model = _blogRepository.GetBlogUrlFriendlyPosts(Domain, 1); return Response.AsRSS(model.Data, "My Blog"); }; }