now with request animation frame + fixing some interaction bugs