rework read path