about algorithm template