mostly finished with mergesort, room for a custom memcpy, but that might be overkill