implemented scroll(dx, dy)