use setInterval rather than setTimeout, cosmetic fixes