still working on session functionality