restructured read_mpi interface