only writing if writable