update expiration logic