all the sorting methods I could remember
random sloppy mishmash of algs in python