adding feature like block, cyclic and block-cyclic