zigzag added not tested