Improved movement engine
Merged with master