added sorting algorithms, only need testing and documentation