session functionality complete