We describe the methodology and current features for ML2000, a new-generation design of ML. ML2000 adds a number of features to Standard ML and Caml, providing better support for extensibility and code reuse, while also fixing latent problems. Although none of the features is particularly novel on its own, the combination of features and design methodology are.