Refactoring some algorithms and try to improve the shape movement, to try to make a better user experience