used as algorithm templates for algorithm problems