moving some stuff around and implementing merge sort (not done).
finish implementing merge sort.  had to change return type to unsigned long to ensure it's big enough for large data sets.