add a algorithm