+# add a user to this node
+# returns Route::User if it is a new user;
+sub add_node
+{
+ my ($self, $nref) = @_;
+ my $r = $self->is_empty('nodes');
+ $self->_addlist('nodes', $nref);
+ $nref->_addlist('users', $self);
+ $nref->{usercount} = scalar @{$nref->{users}};
+ return $r ? ($self) : ();
+}
+
+# delete a user from this node
+sub del_user
+{
+ my ($self, $nref) = @_;
+
+ $self->_dellist('nodes', $nref);
+ $nref->_dellist('users', $self);
+ $nref->{usercount} = scalar @{$nref->{users}};
+ return $self->is_empty('nodes') ? ($self) : ();
+}
+
+sub nodes