add session class
merge session_dev branch to master