how long does immunity last