removed corner case check when timeout < 0