looping and improving interactivity