added different sorting methods