get rid of the timeout code that doesn't work
try threading
update
update