visibility event loop and movement