start of session implementation. not yet finished