suffix array implementation
moved into subdirectory