anchor.diff:  get_songs_count() ->
     length(mnesia:dirty_all_keys(song)).
   
  -handle_info(start_expiring_timer, RecentMovies) ->
  -  spawn_gc(),
  -  {noreply, RecentMovies};
  -
   handle_info({expire}, RecentMovies) ->
     {noreply, expire_items(RecentMovies)}.
  +
  +expire_items(ExpiringItems) ->
  +  [ExpiringItem || ExpiringItem = {_Item, ExpiresAt} <- ExpiringItems, os:system_time() < ExpiresAt].
   
   code_change(_, _, _) ->
     ok.
  
positive.code:         {disc_copies, [node()]}])
    end,
  
    erlang:send_after(?GC_INTERVAL, self(), start_expiring_timer),
  
    {ok, []}.
  
  
negative.code:     false -> MovieId
    end.
  
  calculate_ttl() ->
    os:system_time() + get_songs_count() * 120 * 1000.
  
  