added mpi sub