changed the way timeouts work