Index: trunk/lib/Bookmarks/Controller.pm
===================================================================
--- trunk/lib/Bookmarks/Controller.pm	(revision 70)
+++ trunk/lib/Bookmarks/Controller.pm	(revision 71)
@@ -85,5 +85,5 @@
     my $list = $self->bookmarks->get_bookmarks({
         query  => $query,
-        tag    => \@tags,
+        tags   => \@tags,
         limit  => $limit,
         offset => $offset,
@@ -104,5 +104,5 @@
 
     # construct a feed from the most recent 12 bookmarks
-    my $list = $self->bookmarks->get_bookmarks({ query => $query, tag => \@tags, limit => 12 });
+    my $list = $self->bookmarks->get_bookmarks({ query => $query, tags => \@tags, limit => 12 });
     return $list->as_atom;
 }
Index: trunk/lib/Bookmarks/List.pm
===================================================================
--- trunk/lib/Bookmarks/List.pm	(revision 70)
+++ trunk/lib/Bookmarks/List.pm	(revision 71)
@@ -6,12 +6,13 @@
 use HTTP::Date qw{time2iso time2isoz};
 
-has bookmarks => (is => 'ro');
-has query  => (is => 'ro');
-has tags   => (
+has bookmarks => (
     is => 'ro',
-    default => sub { [] },
+    isa => 'Bookmarks',
 );
-has limit  => (is => 'ro');
-has offset => (is => 'ro');
+has search => (
+    is => 'ro',
+    isa => 'Bookmarks::Search',
+    handles => [qw{query tags limit offset}],
+);
 has results => ( is => 'ro' );
 has title => (
@@ -182,8 +183,5 @@
 
     my @all_tags = $self->bookmarks->get_tags({ selected => @{ $self->tags }[0] });
-    my @cotags = $self->bookmarks->get_cotags({
-        query  => $self->query,
-        tag    => $self->tags,
-    });
+    my @cotags = $self->bookmarks->get_cotags({ search => $self->search });
 
     $template->process(
Index: trunk/lib/Bookmarks/Search.pm
===================================================================
--- trunk/lib/Bookmarks/Search.pm	(revision 71)
+++ trunk/lib/Bookmarks/Search.pm	(revision 71)
@@ -0,0 +1,14 @@
+package Bookmarks::Search;
+
+use Moose;
+
+has query  => (is => 'ro');
+has tags   => (
+    is => 'ro',
+    default => sub { [] },
+);
+has limit  => (is => 'ro');
+has offset => (is => 'ro');
+
+# module return
+1;
