add replicate
add take