protect against zero minus 1
if ref_count is zero, we move it to inactive_list