unworking sorta finished semi complete half merge sorting probably broken sorting unefficient algorithm