This function can not be constant due to MPI function