* removed settimeout & recusion in favor of a setintervals for looping