add Algorithm.h