state: separate session from state