added timeout persistence. no tests and untested so far. first pass