use IO::Select for timeout process
Avoid default answer to be undefined
Revert 35a8646dd618f3ba00ac8852770f77be305dbacf
Update documents