added creation of mpi_datatypes and topology