move protectRead above functions that call it (CS has no function look-ahead?)