revert to setInterval