Index: trunk/bkmk
===================================================================
--- trunk/bkmk	(revision 87)
+++ trunk/bkmk	(revision 88)
@@ -46,5 +46,5 @@
     list => sub {
         my @tags = @_;
-        my $resources = $bookmarks->get_bookmarks({
+        my $resources = $bookmarks->search({
             tags => \@tags
         });
@@ -77,5 +77,5 @@
     dump => sub {
         my ($dump_file) = @_;
-        my $dump = [ map { $_->TO_JSON } @{ $bookmarks->get_bookmarks->results } ];
+        my $dump = [ map { $_->TO_JSON } @{ $bookmarks->search->results } ];
         $dump_file ? YAML::DumpFile($dump_file, $dump) : print Dump($dump);
     },
Index: trunk/lib/Bookmarks.pm
===================================================================
--- trunk/lib/Bookmarks.pm	(revision 87)
+++ trunk/lib/Bookmarks.pm	(revision 88)
@@ -7,5 +7,4 @@
 
 use Bookmark;
-use Bookmarks::List;
 use Bookmarks::Search;
 
@@ -100,5 +99,5 @@
 }
 
-sub get_bookmarks {
+sub search {
     my $self = shift;
     my $params = shift || {};
@@ -130,9 +129,7 @@
         });
     }
-    return Bookmarks::List->new({
-        bookmarks => $self,
-        search    => $search,
-        results   => \@resources,
-    });
+    $search->results(\@resources);
+
+    return $search;
 }
 
Index: trunk/lib/Bookmarks/Controller.pm
===================================================================
--- trunk/lib/Bookmarks/Controller.pm	(revision 87)
+++ trunk/lib/Bookmarks/Controller.pm	(revision 88)
@@ -7,4 +7,5 @@
 use JSON;
 use Bookmarks;
+use Bookmarks::List;
 use URI;
 use Template;
@@ -83,9 +84,12 @@
     my $offset = $self->request->param('offset');
 
-    my $list = $self->bookmarks->get_bookmarks({
-        query  => $query,
-        tags   => \@tags,
-        limit  => $limit,
-        offset => $offset,
+    my $list = Bookmarks::List->new({
+        bookmarks => $self->bookmarks,
+        search    => $self->bookmarks->search({
+            query  => $query,
+            tags   => \@tags,
+            limit  => $limit,
+            offset => $offset,
+        }),
     });
 
@@ -104,5 +108,8 @@
 
     # construct a feed from the most recent 12 bookmarks
-    my $list = $self->bookmarks->get_bookmarks({ query => $query, tags => \@tags, limit => 12 });
+    my $list = Bookmarks::List->new({
+        bookmarks => $self->bookmarks,
+        search    => $self->bookmarks->search({ query => $query, tags => \@tags, limit => 12 }),
+    });
     return $list->as_atom;
 }
Index: trunk/lib/Bookmarks/List.pm
===================================================================
--- trunk/lib/Bookmarks/List.pm	(revision 87)
+++ trunk/lib/Bookmarks/List.pm	(revision 88)
@@ -13,7 +13,6 @@
     is => 'ro',
     isa => 'Bookmarks::Search',
-    handles => [qw{query tags limit offset}],
+    handles => [qw{query tags limit offset results}],
 );
-has results => ( is => 'ro' );
 has title => (
     is => 'ro',
Index: trunk/lib/Bookmarks/Search.pm
===================================================================
--- trunk/lib/Bookmarks/Search.pm	(revision 87)
+++ trunk/lib/Bookmarks/Search.pm	(revision 88)
@@ -11,4 +11,6 @@
 has offset => (is => 'ro');
 
+has results => (is => 'rw', default => sub { [] });
+
 # module return
 1;
Index: trunk/scan
===================================================================
--- trunk/scan	(revision 87)
+++ trunk/scan	(revision 88)
@@ -25,5 +25,5 @@
 my $csv = Text::CSV->new;
 
-for my $bookmark (@{ $bookmarks->get_bookmarks->results }) {
+for my $bookmark (@{ $bookmarks->search->results }) {
     printf "%3d %s\n", $bookmark->id, $bookmark->uri unless $CSV;
     my $response = $ua->head($bookmark->uri);
