only start session when not available
use state