example for movement logic