major refactoring, new movement system