How to use code to add a MaterialExpression?

FString MaterialBaseName = "M_Material";
FString PackageName = "/Game/";
PackageName += MaterialBaseName;
UPackage* Package = CreatePackage(NULL, *PackageName);

// create an unreal material asset
auto MaterialFactory = NewObject<UMaterialFactoryNew>();
UMaterial* UnrealMaterial = (UMaterial*)MaterialFactory->FactoryCreateNew(UMaterial::StaticClass(), Package, *MaterialBaseName, RF_Standalone | RF_Public, NULL, GWarn);
FAssetRegistryModule::AssetCreated(UnrealMaterial);
Package->FullyLoad();
Package->SetDirtyFlag(true);

UMaterialExpressionScalarParameter* ColorTint = NewObject<UMaterialExpressionScalarParameter>(UnrealMaterial);
ColorTint->ParameterName = "ColorTint";
UnrealMaterial->Expressions.Add(ColorTint);