add animation algorithms: not completed