fix setInterval bug