adding basic sorting implementations