fixed reborn function