add link
add interleave() function