switching to IO reading rather than from in-mem string