add revert process, not completely correct when consecutive requests are made(possible solution: shorten the time interval for timer e.g. every 2sec?)