introduced socket type and new session class