changed timeout handling & logging, added reader