very rudimentary session functionality implemented