Movement implemented at the cost of UI handling