get rid of PointerReader