Revert "Revert "add_algorithm""

This reverts commit 01c33b8fd2872c3dbb599455917486482cd55e64.