more protocols, loop-over-nd works