python: multithreaded, better errors, listen