Working movement and further refactoring.