some bugs
timeout handle feature