Other parts of MPI were used by only one or two applications, and could be omitted from the CCDMI core specification. In particular, MPI's derived datatypes impose significant overhead and do not provide significant abstraction benefits in the context of a runtime system invoked by an automated tool (an HPC compiler). Similarly, Cartesian and graph topology information, user-defined buffering, key-attribute database functions, error handlers, intercommunicators, ready sends, etc. could all safely be omitted from the CCDMI core. The resulting specification is a better match to the performance and portability requirements of HPC runtime systems than the more generic MPI standard.