better io reconstruction