implement the Session() method