continued development, adding in-place sort