implement timer task and timeout methods