module requestInterval to replace setInterval
clean before merging