*: use TeeReader to reduce I/O in CAS