adding initial implementation of merge sort; needs work