dont forget needs_new_slot