Hopefully rewrote the interleaving/uninterleaving kernels to not fragment the heap