mode r/w arrow go through read tvar; split r/w stuff into own layer