looping, except for BY_VALUE