better session updating