bunch of different algorithms for school