update session first!