add basic session management