contains code for algorithm problems