extensions refactor to use span. use std::shared_ptr instead of boost::shared_ptr.
created session_params and new session constructor