Movement refactored and improved