more protocols, loop-over needs fixes