add selection sort, add benchmarks, modularize