Index: Dev/github/GitHubBackup.pm
===================================================================
--- Dev/github/GitHubBackup.pm	(revision fc647d5d5521650a6c1d75ad37facdca12b851cb)
+++ Dev/github/GitHubBackup.pm	(revision 55d0513b04f2240cb047566e7fd121df89ea499a)
@@ -24,9 +24,15 @@
 sub get {
     my $url = shift;
+    my %parameters = @_;
+    
+    my $parameters = '';
+    while (my($key, $value) = each %parameters) {
+        $parameters .= "&$key=$value";
+    }
     
     my $page = 1;
     my $data;
     while(1) {
-        my $result = json_api("$url?per_page=100&page=$page");
+        my $result = json_api("$url?per_page=100&page=$page$parameters");
         if (ref($result) eq 'ARRAY' && scalar @$result > 0) {
             push @$data, @$result;
@@ -198,5 +204,5 @@
 }
 
-sub get_forks {
+sub forks {
     my $self = shift;
     return $self->{forks} if ($self->{forks});
@@ -204,11 +210,9 @@
     $self->{forks} = utils::get("/repos/" . $self->{full_name} . "/forks");
     
-    return $self;
+    return $self->{forks};
 }
 
 sub set_forks {
     my $self = shift;
-    
-    $self->get_forks;
     
     my $dir = $self->directory . '.git';
@@ -217,5 +221,5 @@
     my $remotes = Git::Repository->run(branch => '--remotes');
     my @fetch;
-    foreach my $fork (@{$self->{forks}}) {
+    foreach my $fork (@{$self->forks}) {
         if ($remotes =~ /$fork->{full_name}/) {
             print "skip ", $fork->{full_name}, "\n";
@@ -246,6 +250,21 @@
 }
 
+sub issues {
+    my $self = shift;
+    return $self->{issues} if ($self->{issues});
+    
+    my $open   = utils::get("/repos/" . $self->{full_name} . "/issues");
+    my $closed = utils::get("/repos/" . $self->{full_name} . "/issues", state => 'closed');
+    
+    if ($open)   { push @{$self->{issues}}, @$open }
+    if ($closed) { push @{$self->{issues}}, @$closed }
+    
+    return $self->{issues};
+}
+
 sub save_issues {
     my $self = shift;
+    
+    $self->issues;
 }
 
