Pleaes have NewClientFile use NewClientReader so there is less duplicate code.