change the way of handling user session