movement change and small refactoring