just use MPI for implementation