diff --git a/.gitignore b/.gitignore
index d0518a7f..401e13e6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,3 +25,4 @@ build.out/
 
 # eof
 src/.idea
+*/NugetPackages/*.nupkg
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
new file mode 100644
index 00000000..ebd61d6e
--- /dev/null
+++ b/azure-pipelines.yml
@@ -0,0 +1,72 @@
+trigger:
+- '*'
+
+pool:
+  vmImage: 'windows-2019'
+
+stages:
+- stage: build
+  displayName: Build
+
+  jobs:
+  - job: Build
+    pool:
+      vmImage: 'windows-2019'
+    steps:
+    - task: NuGetToolInstaller@1
+    - task: NuGetCommand@2
+      inputs:
+        command: 'restore'
+        restoreSolution: '**/*.sln'
+        feedsToUse: 'select'
+    - task: VSBuild@1
+      inputs:
+        solution: '**\*.sln'
+        configuration: "DevOps"
+    - task: PowerShell@2
+      inputs:
+        filePath: '$(System.DefaultWorkingDirectory)\build\SetVersion.ps1'
+        workingDirectory: '$(System.DefaultWorkingDirectory)\build'
+    - task: NuGetCommand@2
+      inputs:
+        command: 'pack'
+        packagesToPack: '**/*.nuspec'
+        versioningScheme: 'off'
+    - task: ArchiveFiles@2
+      inputs:
+        rootFolderOrFile: 'src\Our.ModelsBuilder.Tests\bin\DevOps'
+        includeRootFolder: false
+        archiveType: 'zip'
+        archiveFile: '$(Build.ArtifactStagingDirectory)/Tests.zip'
+        replaceExistingArchive: true
+    - task: PublishBuildArtifacts@1
+      inputs:
+        PathtoPublish: '$(Build.ArtifactStagingDirectory)'
+        ArtifactName: 'drop'
+        publishLocation: 'Container'
+- stage: test
+  displayName: test
+  jobs:
+  - job: Test
+    pool:
+      vmImage: 'windows-2019'
+    steps:
+    - task: DownloadBuildArtifacts@0
+      inputs:
+        buildType: 'current'
+        downloadType: 'specific'
+        itemPattern: '**\Tests*.zip'
+        downloadPath: '$(System.DefaultWorkingDirectory)'
+    - task: ExtractFiles@1
+      inputs:
+        archiveFilePatterns: '**/Tests.zip'
+        destinationFolder: '$(System.DefaultWorkingDirectory)\test'
+        cleanDestinationFolder: true    
+    - task: VSTest@2
+      inputs:
+        testSelector: 'testAssemblies'
+        testAssemblyVer2: |
+          **\*test*.dll
+          !**\*TestAdapter.dll
+          !**\obj\**
+        searchFolder: '$(System.DefaultWorkingDirectory)\test'
\ No newline at end of file
diff --git a/build/Nuspecs/Our.ModelsBuilder.Web.nuspec b/build/Nuspecs/Our.ModelsBuilder.Web.nuspec
deleted file mode 100644
index 28bfc8e8..00000000
--- a/build/Nuspecs/Our.ModelsBuilder.Web.nuspec
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0"?>
-<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
-  <metadata minClientVersion="2.8.1">
-    <id>Our.ModelsBuilder.Web</id>
-    <version>$version$</version>
-    <title>Our ModelsBuilder Web</title>
-    <authors>The Umbraco Community</authors>
-    <owners>The Umbraco Community</owners>
-    <license type="expression">MIT</license>
-    <requireLicenseAcceptance>false</requireLicenseAcceptance>
-    <iconUrl>https://raw.githubusercontent.com/ZpqrtBnk/Our.ModelsBuilder/v4/dev/etc/logo.png</iconUrl>
-    <!--<icon>img\logo.png</icon>-->
-    <description>Our ModelsBuilder Web Integration for Umbraco.</description>
-    <projectUrl>https://github.com/ZpqrtBnk/Our.ModelsBuilder</projectUrl>
-    <copyright>$copyright$</copyright>
-    <language>en-US</language>
-    <tags>umbraco</tags>
-    <dependencies>
-      <group targetFramework="net472">
-        <dependency id="Our.ModelsBuilder" version="$version$" />
-      </group>
-    </dependencies>
-  </metadata>
-  <files>
-    <!-- our dlls -->
-    <file src="$solution$\build.tmp\bin\Our.ModelsBuilder.Web.dll" target="lib\net472\Our.ModelsBuilder.Web.dll" />
-    <file src="$solution$\build.tmp\bin\Our.ModelsBuilder.Web.pdb" target="lib\net472\Our.ModelsBuilder.Web.pdb" />
-
-    <!-- content for the dashboard -->
-    <file src="$solution$\src\Our.ModelsBuilder.Web\Plugin\modelsbuilder.html" target="content\App_Plugins\Our.ModelsBuilder\modelsbuilder.html" />
-    <file src="$solution$\src\Our.ModelsBuilder.Web\Plugin\modelsbuilder.controller.js" target="content\App_Plugins\Our.ModelsBuilder\modelsbuilder.controller.js" />
-    <file src="$solution$\src\Our.ModelsBuilder.Web\Plugin\modelsbuilder.resource.js" target="content\App_Plugins\Our.ModelsBuilder\modelsbuilder.resource.js" />
-    <file src="$solution$\src\Our.ModelsBuilder.Web\Plugin\lang\en-US.xml" target="content\App_Plugins\Our.ModelsBuilder\lang\en-US.xml" />
-    <file src="$solution$\build\Nuspecs\logo.png" target="content\App_Plugins\Our.ModelsBuilder\logo.png" />
-
-    <!-- transforms -->
-    <file src="$solution$\build\Nuspecs\ModelsBuilder\web.config.install.xdt" target="content" />
-    <file src="$solution$\build\Nuspecs\ModelsBuilder\web.config.uninstall.xdt" target="content" />
-
-    <!-- the icon -->
-    <!--<file src="$solution$\build\Nuspecs\logo.png" target="img\" />-->
-
-  </files>
-</package>
\ No newline at end of file
diff --git a/build/SetVersion.ps1 b/build/SetVersion.ps1
new file mode 100644
index 00000000..4555af39
--- /dev/null
+++ b/build/SetVersion.ps1
@@ -0,0 +1,17 @@
+Write-Host "Get version"
+$version = (Get-Command "..\src\Our.ModelsBuilder\bin\DevOps\Our.ModelsBuilder.dll").FileVersionInfo.ProductVersion
+$version 
+$nuspecs =  Get-ChildItem -Path ..\*\*.nuspec -Recurse -Force;
+$nuspecs | Foreach-Object { 
+    Write-Host "Set version for "$_.FullName 
+    [xml]$xml = Get-Content -path  $_.FullName -Raw
+    $ns = [System.Xml.XmlNamespaceManager]::new($xml.NameTable)
+    $ns.AddNamespace('nuspec', 'http://schemas.microsoft.com/packaging/2015/06/nuspec.xsd')
+    
+    write-host [xml]$xml
+    $xml.package.metadata.version= $version.ToString()
+
+    [xml]$xml.Save($_.FullName)
+
+
+ }
diff --git a/build/UnSetVersion.ps1 b/build/UnSetVersion.ps1
new file mode 100644
index 00000000..87bf797a
--- /dev/null
+++ b/build/UnSetVersion.ps1
@@ -0,0 +1,8 @@
+$nuspecs =  Get-ChildItem -Path ..\*\*.nuspec -Recurse -Force;
+$nuspecs | Foreach-Object { 
+    [xml]$xml = Get-Content -path  $_.FullName -Raw
+    $ns = [System.Xml.XmlNamespaceManager]::new($xml.NameTable)
+    $ns.AddNamespace('nuspec', 'http://schemas.microsoft.com/packaging/2015/06/nuspec.xsd')
+    $xml.package.metadata.version= ""
+    [xml]$xml.Save($_.FullName)
+ }
\ No newline at end of file
diff --git a/build/build-bootstrap.ps1 b/build/build-bootstrap.ps1
deleted file mode 100644
index 71a25bfd..00000000
--- a/build/build-bootstrap.ps1
+++ /dev/null
@@ -1,92 +0,0 @@
-
-  # this script should be dot-sourced into the build.ps1 scripts
-  # right after the parameters declaration
-  # ie
-  # . "$PSScriptRoot\build-bootstrap.ps1"
-
-  # THIS FILE IS DISTRIBUTED AS PART OF UMBRACO.BUILD
-  # DO NOT MODIFY IT - ALWAYS USED THE COMMON VERSION
-
-  # ################################################################
-  # BOOTSTRAP
-  # ################################################################
-
-  # reset errors
-  $error.Clear()
-
-  # ensure we have temp folder for downloads
-  $scriptRoot = "$PSScriptRoot"
-  $scriptTemp = "$scriptRoot\temp"
-  if (-not (test-path $scriptTemp)) { mkdir $scriptTemp > $null }
-
-  # get NuGet
-  $cache = 4
-  $nuget = "$scriptTemp\nuget.exe"
-  if (-not $local)
-  {
-    $source = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe"
-    if ((test-path $nuget) -and ((ls $nuget).CreationTime -lt [DateTime]::Now.AddDays(-$cache)))
-    {
-      Remove-Item $nuget -force -errorAction SilentlyContinue > $null
-    }
-    if (-not (test-path $nuget))
-    {
-      Write-Host "Download NuGet..."
-      Invoke-WebRequest $source -OutFile $nuget
-      if (-not $?) { throw "Failed to download NuGet." }
-    }
-  }
-  elseif (-not (test-path $nuget))
-  {
-    throw "Failed to locate NuGet.exe."
-  }
-
-  # NuGet notes
-  # As soon as we use -ConfigFile, NuGet uses that file, and only that file, and does not
-  # merge configuration from system level. See comments in NuGet.Client solution, class
-  # NuGet.Configuration.Settings, method LoadDefaultSettings.
-  # For NuGet to merge configurations, it needs to "find" the file in the current directory,
-  # or above. Which means we cannot really use -ConfigFile but instead have to have Umbraco's
-  # NuGet.config file at root, and always run NuGet.exe while at root or in a directory below
-  # root.
-
-  $solutionRoot = "$scriptRoot\.."
-  $testPwd = [System.IO.Path]::GetFullPath($pwd.Path) + "\"
-  $testRoot = [System.IO.Path]::GetFullPath($solutionRoot) + "\"
-  if (-not $testPwd.ToLower().StartsWith($testRoot.ToLower()))
-  {
-      throw "Cannot run outside of the solution's root."
-  }
-
-  # get the build system
-  if (-not $local)
-  {
-    $params = "-OutputDirectory", $scriptTemp, "-Verbosity", "quiet", "-PreRelease"
-    &$nuget install Umbraco.Build @params
-    if (-not $?) { throw "Failed to download Umbraco.Build." }
-  }
-
-  # ensure we have the build system
-  $ubuildPath = ls "$scriptTemp\Umbraco.Build.*" | sort -property CreationTime -descending | select -first 1
-  if (-not $ubuildPath)
-  {
-    throw "Failed to locate the build system."
-  }
-
-  # boot the build system
-  # this creates $global:ubuild
-  return &"$ubuildPath\ps\Boot.ps1"
-
-  # at that point the build.ps1 script must boot the build system
-  # eg
-  # $ubuild.Boot($ubuildPath.FullName, [System.IO.Path]::GetFullPath("$scriptRoot\.."),
-  #   @{ Local = $local; With7Zip = $false; WithNode = $false },
-  #   @{ continue = $continue })
-  # if (-not $?) { throw "Failed to boot the build system." }
-  #
-  # and it's good practice to report
-  # eg
-  # Write-Host "Umbraco.Whatever Build"
-  # Write-Host "Umbraco.Build v$($ubuild.BuildVersion)"
-
-  # eof
diff --git a/build/build.ps1 b/build/build.ps1
index 00e1e1ea..56148284 100644
--- a/build/build.ps1
+++ b/build/build.ps1
@@ -1,321 +1,16 @@
+Write-Host "Starting rebuild of Project"
+Write-Host "Still need figure out way to build correctly"
+#dotnet build ..\src\Our.ModelsBuilder.sln
+Write-Host "Setting Up Version"
 
-  param (
-    # get, don't execute
-    [Parameter(Mandatory=$false)]
-    [Alias("g")]
-    [switch] $get = $false,
+& ".\SetVersion.ps1"
 
-    # run local, don't download, assume everything is ready
-    [Parameter(Mandatory=$false)]
-    [Alias("l")]
-    [Alias("loc")]
-    [switch] $local = $false,
+Write-Host "Creating Pacakges"
+$nuspecs =  Get-ChildItem -Path ..\*\*.nuspec -Recurse -Force;
+$nuspecs | Foreach-Object { 
+    nuget pack $_.FullName -OutputDirectory "NugetPackages"
+ }
 
-    # keep the build directories, don't clear them
-    [Parameter(Mandatory=$false)]
-    [Alias("c")]
-    [Alias("cont")]
-    [switch] $continue = $false,
+ Write-Host "Removing Version"
+ & ".\UnSetVersion.ps1"
 
-    # execute a command
-    [Parameter(Mandatory=$false, ValueFromRemainingArguments=$true)]
-    [String[]]
-    $command
-  )
-
-  # ################################################################
-  # BOOTSTRAP
-  # ################################################################
-
-  # create and boot the buildsystem
-  $ubuild = &"$PSScriptRoot\build-bootstrap.ps1"
-  if (-not $?) { return }
-  $ubuild.Boot($PSScriptRoot,
-    @{ Local = $local; With7Zip = $false; WithNode = $false; VsMajor = "15"; VsPreview = $false; },
-    @{ Continue = $continue })
-  if ($ubuild.OnError()) { return }
-
-  Write-Host "Our.ModelsBuilder Build"
-  Write-Host "Umbraco.Build v$($ubuild.BuildVersion)"
-
-  # ################################################################
-  # TASKS
-  # ################################################################
-
-  $ubuild.DefineMethod("ClearBuild",
-  {
-	if (test-path $this.BuildTemp) { remove-item $this.BuildTemp -force -recurse -errorAction SilentlyContinue > $null }
-	if (test-path $this.BuildOutput) { remove-item $this.BuildOutput -force -recurse -errorAction SilentlyContinue > $null }
-
-	mkdir $this.BuildTemp > $null
-	mkdir $this.BuildOutput > $null
-  })
-
-  $ubuild.DefineMethod("SetMoreUmbracoVersion",
-  {
-    param ( $semver )
-
-    # Edit VSIX
-    Write-Host "Update VSIX manifest."
-    $vsixFile = "$($this.SolutionRoot)\src\Our.ModelsBuilder.Extension\source.extension.vsixmanifest"
-    [xml] $vsixXml = Get-Content $vsixFile
-    $xmlNameTable = New-Object System.Xml.NameTable
-    $xmlNameSpace = New-Object System.Xml.XmlNamespaceManager($xmlNameTable)
-    $xmlNameSpace.AddNamespace("vsx", "http://schemas.microsoft.com/developer/vsx-schema/2011")
-    $xmlNameSpace.AddNamespace("d", "http://schemas.microsoft.com/developer/vsx-schema-design/2011")
-    $versionNode = $vsixXml.SelectSingleNode("/vsx:PackageManifest/vsx:Metadata/vsx:Identity/@Version", $xmlNameSpace)
-
-    # cannot be semver because it has to be a.b.c.d format
-    # so we have to invent some sort of "build" - the spaghetti way
-    $current = $versionNode.Value
-    $pos = $current.LastIndexOf('.')
-    $current = $current.Substring($pos + 1)
-    $now = [DateTime]::Now.ToString("yyMMdd")
-    if ($current.Length -ne 9)
-    {
-      $build = $now + "001"
-    }
-    else
-    {
-      if (-not $current.StartsWith($now))
-      {
-        $build = $now + "001"
-      }
-      else
-      {
-        $i = 0
-        if ([int]::TryParse($current.Substring(6), [ref]$i))
-        {
-          $i += 1
-          $build = $now + $i.ToString("000")
-        }
-        else
-        {
-          $build = $now + "666"
-        }
-      }
-    }
-
-    $release = "" + $semver.Major + "." + $semver.Minor + "." + $semver.Patch
-	  $versionNode.Value = "$release.$build"
-    $vsixXml.Save($vsixFile)
-  })
-
-  $ubuild.DefineMethod("RestoreNuGet",
-  {
-    Write-Host "Restore NuGet"
-    Write-Host "Logging to $($this.BuildTemp)\nuget.restore.log"
-    &$this.BuildEnv.NuGet restore "$($this.SolutionRoot)\src\Our.ModelsBuilder.sln" > "$($this.BuildTemp)\nuget.restore.log"
-    # temp - ignore errors, because of a circular dependency between U and MB
-    #   we'll eventually move Our.ModelsBuilder (and only that one) into Core,
-    #   once I have decided what to do with the work-in-progress stuff
-    #if (-not $?) { throw "Failed to restore NuGet packages." }
-    $error.Clear()
-  })
-
-  $ubuild.DefineMethod("Compile",
-  {
-    $buildConfiguration = "Release"
-
-    $src = "$($this.SolutionRoot)\src"
-    $log = "$($this.BuildTemp)\msbuild.log"
-
-    if ($this.BuildEnv.VisualStudio -eq $null)
-    {
-      throw "Build environment does not provide VisualStudio."
-    }
-
-    Write-Host "Compile"
-    Write-Host "Logging to $log"
-
-    # beware of the weird double \\ at the end of paths
-    # see http://edgylogic.com/blog/powershell-and-external-commands-done-right/
-    &$this.BuildEnv.VisualStudio.MsBuild "$src\Our.ModelsBuilder.sln" `
-      /p:WarningLevel=0 `
-      /p:Configuration=$buildConfiguration `
-      /p:Platform="Any CPU" `
-      /p:UseWPP_CopyWebApplication=True `
-      /p:PipelineDependsOnBuild=False `
-      /p:OutDir="$($this.BuildTemp)\bin\\" `
-      /p:Verbosity=minimal `
-      /t:Clean`;Rebuild `
-      /tv:"$($this.BuildEnv.VisualStudio.ToolsVersion)" `
-      /p:UmbracoBuild=True `
-      > $log
-
-    if (-not $?) { throw "Failed to compile." }
-
-    # /p:UmbracoBuild tells the csproj that we are building from PS, not VS
-  })
-
-  $ubuild.DefineMethod("PackageCore",
-  {
-    Write-Host "Package Our.ModelsBuilder"
-    $nuspecs = "$($this.SolutionRoot)\build\NuSpecs"
-    $copyright = "Copyright (C) Our $((Get-Date).Year)"
-	  &$this.BuildEnv.NuGet pack "$nuspecs\Our.ModelsBuilder.nuspec" `
-	    -Properties copyright="$Copyright"`;solution="$($this.SolutionRoot)" `
-	    -Version "$($this.Version.Semver.ToString())" `
-	    -Verbosity detailed -OutputDirectory "$($this.BuildOutput)" > "$($this.BuildTemp)\nupack.core.log"
-  	if (-not $?) { throw "Failed to pack NuGet Our.ModelsBuilder." }
-  })
-
-  $ubuild.DefineMethod("PackageWeb",
-  {
-    Write-Host "Package Our.ModelsBuilder.Web"
-    $nuspecs = "$($this.SolutionRoot)\build\NuSpecs"
-    $copyright = "Copyright (C) Our $((Get-Date).Year)"
-	  &$this.BuildEnv.NuGet pack "$nuspecs\Our.ModelsBuilder.Web.nuspec" `
-	    -Properties copyright="$Copyright"`;solution="$($this.SolutionRoot)" `
-	    -Version "$($this.Version.Semver.ToString())" `
-	    -Verbosity detailed -OutputDirectory "$($this.BuildOutput)" > "$($this.BuildTemp)\nupack.web.log"
-  	if (-not $?) { throw "Failed to pack NuGet Our.ModelsBuilder.Web." }
-  })
-
-  $ubuild.DefineMethod("PackageVsix",
-  {
-    Write-Host "Package Our.ModelsBuilder.Extension"
-
-    $vsix = "$($this.SolutionRoot)\build.tmp\bin\Our.ModelsBuilder.Extension.vsix"
-    $temp = "$($this.SolutionRoot)\build.tmp\bin\Our.ModelsBuilder.Extension.temp"
-    $target = "$($this.BuildOutput)\Our.ModelsBuilder.Extension-$($this.Version.Semver.ToString()).vsix"
-
-    [Reflection.Assembly]::LoadWithPartialName("System.IO.Compression.FileSystem") | Out-Null
-    [System.IO.Compression.ZipFile]::ExtractToDirectory($vsix, $temp) | Out-Null
-
-    Remove-Item -Force -Recurse "$temp/x86"
-    Remove-Item -Force -Recurse "$temp/amd64"
-    Remove-Item -Force -Recurse "$temp/cs"
-    Remove-Item -Force -Recurse "$temp/de"
-    Remove-Item -Force -Recurse "$temp/es"
-    Remove-Item -Force -Recurse "$temp/fr"
-    Remove-Item -Force -Recurse "$temp/it"
-    Remove-Item -Force -Recurse "$temp/ja"
-    Remove-Item -Force -Recurse "$temp/ko"
-    Remove-Item -Force -Recurse "$temp/pl"
-    Remove-Item -Force -Recurse "$temp/pt-BR"
-    Remove-Item -Force -Recurse "$temp/ru"
-    Remove-Item -Force -Recurse "$temp/tr"
-    Remove-Item -Force -Recurse "$temp/zh-Hans"
-    Remove-Item -Force -Recurse "$temp/zh-Hant"
-
-    Remove-Item -Force "$temp/ClientDependency.*"
-    Remove-Item -Force "$temp/CSharpTest.*"
-    Remove-Item -Force "$temp/HtmlAgilityPack.*"
-    Remove-Item -Force "$temp/ImageProcessor.*"
-    Remove-Item -Force "$temp/LightInject.*"
-    Remove-Item -Force "$temp/Lucene.*"
-    Remove-Item -Force "$temp/Markdown.*"
-    Remove-Item -Force "$temp/MiniProfiler.*"
-    Remove-Item -Force "$temp/NPoco.*"
-    Remove-Item -Force "$temp/Serilog.*"
-    Remove-Item -Force "$temp/Superpower.*"
-    Remove-Item -Force "$temp/Umbraco.Examine.*"
-
-    Remove-Item -Force "$temp/*.pdb"
-
-    $manifest = Get-Content "$temp/manifest.json" | ConvertFrom-Json
-
-    $files = $manifest.files # is an array of objects (fixed size)
-    $nfiles = @()
-
-    foreach ($file in $files)
-    {
-      $fileName = $file.fileName
-
-      if ($fileName.StartsWith("/x86")) { continue }
-      if ($fileName.StartsWith("/amd64")) { continue }
-      if ($fileName.StartsWith("/cs")) { continue }
-      if ($fileName.StartsWith("/de")) { continue }
-      if ($fileName.StartsWith("/es")) { continue }
-      if ($fileName.StartsWith("/fr")) { continue }
-      if ($fileName.StartsWith("/it")) { continue }
-      if ($fileName.StartsWith("/ja")) { continue }
-      if ($fileName.StartsWith("/ko")) { continue }
-      if ($fileName.StartsWith("/pl")) { continue }
-      if ($fileName.StartsWith("/pt-BR")) { continue }
-      if ($fileName.StartsWith("/tr")) { continue }
-      if ($fileName.StartsWith("/zh-Hans")) { continue }
-      if ($fileName.StartsWith("/zh-Hant")) { continue }
-
-      if ($fileName.StartsWith("/ClientDependency.")) { continue }
-      if ($fileName.StartsWith("/CSharpTest.")) { continue }
-      if ($fileName.StartsWith("/HtmlAgilityPack.")) { continue }
-      if ($fileName.StartsWith("/ImageProcessor.")) { continue }
-      if ($fileName.StartsWith("/LightInject.")) { continue }
-      if ($fileName.StartsWith("/Lucene.")) { continue }
-      if ($fileName.StartsWith("/Markdown.")) { continue }
-      if ($fileName.StartsWith("/MiniProfiler.")) { continue }
-      if ($fileName.StartsWith("/NPoco.")) { continue }
-      if ($fileName.StartsWith("/Serilog.")) { continue }
-      if ($fileName.StartsWith("/Superpower.")) { continue }
-      if ($fileName.StartsWith("/Umbraco.Examine.")) { continue }
-
-      if ($fileName.EndsWith(".pdb")) { continue }
-
-      $nfiles += $file
-    }
-
-    $manifest.files = $nfiles
-
-    $manifest | ConvertTo-Json | Set-Content "$temp/manifest.json"
-
-    [System.IO.Compression.ZipFile]::CreateFromDirectory($temp, $target)
-  })
-
-  $ubuild.DefineMethod("VerifyNuGet",
-  {
-    $this.VerifyNuGetConsistency(
-      ("Our.ModelsBuilder", "Our.ModelsBuilder.Web"),
-      ("Our.ModelsBuilder", "Our.ModelsBuilder.Web", "Our.ModelsBuilder.Extension", "Our.ModelsBuilder.Console"))
-  })
-
-  $ubuild.DefineMethod("PostPackageHook",
-  {
-    # run hook
-    if ($this.HasMethod("PostPackage"))
-    {
-      Write-Host "Run PostPackage hook"
-      $this.PostPackage();
-      if (-not $?) { throw "Failed to run hook." }
-    }
-  })
-
-  $ubuild.DefineMethod("Build",
-  {
-    $this.RestoreNuGet()
-    if ($this.OnError()) { return }
-    $this.Compile()
-    if ($this.OnError()) { return }
-    #$this.CompileTests()
-    # not running tests
-    $this.VerifyNuGet()
-    if ($this.OnError()) { return }
-    $this.PackageCore()
-    if ($this.OnError()) { return }
-    $this.PackageWeb()
-    if ($this.OnError()) { return }
-    $this.PackageVsix()
-    if ($this.OnError()) { return }
-    $this.PostPackageHook()
-    if ($this.OnError()) { return }
-  })
-
-  # ################################################################
-  # RUN
-  # ################################################################
-
-  # configure
-  $ubuild.ReleaseBranches = @( "master" )
-
-  # run
-  if (-not $get)
-  {
-    if ($command.Length -eq 0)
-    {
-      $command = @( "Build" )
-    }
-    $ubuild.RunMethod($command);
-    if ($ubuild.OnError()) { return }
-  }
-  if ($get) { return $ubuild }
diff --git a/src/Our.ModelsBuilder.Console/Our.ModelsBuilder.Console.csproj b/src/Our.ModelsBuilder.Console/Our.ModelsBuilder.Console.csproj
index 130659ae..21dc4c95 100644
--- a/src/Our.ModelsBuilder.Console/Our.ModelsBuilder.Console.csproj
+++ b/src/Our.ModelsBuilder.Console/Our.ModelsBuilder.Console.csproj
@@ -29,6 +29,9 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DevOps|AnyCPU' ">
+    <OutputPath>bin\DevOps\</OutputPath>
+  </PropertyGroup>
   <ItemGroup>
     <Reference Include="System" />
     <Reference Include="System.Configuration" />
diff --git a/src/Our.ModelsBuilder.Extension/ItemTemplate.Etc/Umbraco Models.zip b/src/Our.ModelsBuilder.Extension/ItemTemplate.Etc/Umbraco Models.zip
index d86b9d44..bb183e1b 100644
Binary files a/src/Our.ModelsBuilder.Extension/ItemTemplate.Etc/Umbraco Models.zip and b/src/Our.ModelsBuilder.Extension/ItemTemplate.Etc/Umbraco Models.zip differ
diff --git a/src/Our.ModelsBuilder.Extension/Our.ModelsBuilder.Extension.csproj b/src/Our.ModelsBuilder.Extension/Our.ModelsBuilder.Extension.csproj
index 18d9e323..392715d6 100644
--- a/src/Our.ModelsBuilder.Extension/Our.ModelsBuilder.Extension.csproj
+++ b/src/Our.ModelsBuilder.Extension/Our.ModelsBuilder.Extension.csproj
@@ -49,6 +49,9 @@
     <RunCodeAnalysis>true</RunCodeAnalysis>
     <DeployExtension>True</DeployExtension>
   </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DevOps|AnyCPU' ">
+    <OutputPath>bin\DevOps\</OutputPath>
+  </PropertyGroup>
   <ItemGroup>
     <Reference Include="Microsoft.CSharp" />
     <Reference Include="PresentationCore" />
diff --git a/src/Our.ModelsBuilder.Tests/Our.ModelsBuilder.Tests.csproj b/src/Our.ModelsBuilder.Tests/Our.ModelsBuilder.Tests.csproj
index 64c0eab8..86568b20 100644
--- a/src/Our.ModelsBuilder.Tests/Our.ModelsBuilder.Tests.csproj
+++ b/src/Our.ModelsBuilder.Tests/Our.ModelsBuilder.Tests.csproj
@@ -29,6 +29,15 @@
     <WarningLevel>4</WarningLevel>
     <LangVersion>latest</LangVersion>
   </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DevOps|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\DevOps\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <LangVersion>latest</LangVersion>
+  </PropertyGroup>
   <ItemGroup>
     <PackageReference Include="Moq">
       <Version>4.13.1</Version>
@@ -40,7 +49,7 @@
       <Version>3.15.1</Version>
     </PackageReference>
     <PackageReference Include="UmbracoCms.Web">
-      <Version>8.3.1</Version>
+      <Version>8.7.0</Version>
     </PackageReference>
   </ItemGroup>
   <ItemGroup>
diff --git a/src/Our.ModelsBuilder.Web/Nuget/Our.ModelsBuilder.Web.nuspec b/src/Our.ModelsBuilder.Web/Nuget/Our.ModelsBuilder.Web.nuspec
new file mode 100644
index 00000000..e40cbc3d
--- /dev/null
+++ b/src/Our.ModelsBuilder.Web/Nuget/Our.ModelsBuilder.Web.nuspec
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
+  <metadata minClientVersion="2.8.1">
+    <id>Our.ModelsBuilder.Web</id>
+    <version>
+    </version>
+    <title>Our ModelsBuilder Web</title>
+    <authors>The Umbraco Community</authors>
+    <owners>The Umbraco Community</owners>
+    <license type="expression">MIT</license>
+    <requireLicenseAcceptance>false</requireLicenseAcceptance>
+    <iconUrl>https://raw.githubusercontent.com/ZpqrtBnk/Our.ModelsBuilder/v4/dev/etc/logo.png</iconUrl>
+    <!--<icon>img\logo.png</icon>-->
+    <description>Our ModelsBuilder Web Integration for Umbraco.</description>
+    <copyright>
+    </copyright>
+    <language>en-US</language>
+    <tags>umbraco</tags>
+    <projectUrl>https://github.com/modelsbuilder/ModelsBuilder.Original</projectUrl>
+    <dependencies>
+      <group targetFramework="net472">
+        <dependency id="Our.ModelsBuilder" version="[4.0.0-alpha,5.0.0)" />
+      </group>
+    </dependencies>
+  </metadata>
+  <files>
+    <!-- our dlls -->
+    <file src="..\bin\DevOps\Our.ModelsBuilder.Web.dll" target="lib\net472\Our.ModelsBuilder.Web.dll" />
+    <file src="..\bin\DevOps\Our.ModelsBuilder.Web.pdb" target="lib\net472\Our.ModelsBuilder.Web.pdb" />
+    <!-- content for the dashboard -->
+    <file src="..\Plugin\modelsbuilder.html" target="content\App_Plugins\Our.ModelsBuilder\modelsbuilder.html" />
+    <file src="..\Plugin\modelsbuilder.controller.js" target="content\App_Plugins\Our.ModelsBuilder\modelsbuilder.controller.js" />
+    <file src="..\Plugin\modelsbuilder.resource.js" target="content\App_Plugins\Our.ModelsBuilder\modelsbuilder.resource.js" />
+    <file src="..\Plugin\lang\en-US.xml" target="content\App_Plugins\Our.ModelsBuilder\lang\en-US.xml" />
+    <!-- transforms -->
+    <file src=".\web.config.install.xdt" target="content" />
+    <file src=".\web.config.uninstall.xdt" target="content" />
+    <!-- the icon -->
+    <!--<file src=".\..\build\Nuspecs\logo.png" target="img\" />-->
+  </files>
+</package>
\ No newline at end of file
diff --git a/build/Nuspecs/ModelsBuilder/web.config.install.xdt b/src/Our.ModelsBuilder.Web/Nuget/web.config.install.xdt
similarity index 100%
rename from build/Nuspecs/ModelsBuilder/web.config.install.xdt
rename to src/Our.ModelsBuilder.Web/Nuget/web.config.install.xdt
diff --git a/build/Nuspecs/ModelsBuilder/web.config.uninstall.xdt b/src/Our.ModelsBuilder.Web/Nuget/web.config.uninstall.xdt
similarity index 100%
rename from build/Nuspecs/ModelsBuilder/web.config.uninstall.xdt
rename to src/Our.ModelsBuilder.Web/Nuget/web.config.uninstall.xdt
diff --git a/src/Our.ModelsBuilder.Web/Our.ModelsBuilder.Web.csproj b/src/Our.ModelsBuilder.Web/Our.ModelsBuilder.Web.csproj
index a9ff57e8..d6f1fd2b 100644
--- a/src/Our.ModelsBuilder.Web/Our.ModelsBuilder.Web.csproj
+++ b/src/Our.ModelsBuilder.Web/Our.ModelsBuilder.Web.csproj
@@ -26,6 +26,14 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DevOps|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\DevOps\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
   <ItemGroup>
     <Compile Include="..\SolutionInfo.cs">
       <Link>Properties\SolutionInfo.cs</Link>
@@ -58,11 +66,19 @@
     <Reference Include="System.Web.ApplicationServices" />
   </ItemGroup>
   <ItemGroup>
+    <PackageReference Include="Microsoft.SourceLink.GitHub">
+      <Version>1.0.0</Version>
+      <PrivateAssets>all</PrivateAssets>
+      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
+    </PackageReference>
     <PackageReference Include="UmbracoCms.Web">
-      <Version>8.3.0-alpha.1</Version>
+      <Version>8.7.0</Version>
     </PackageReference>
   </ItemGroup>
   <ItemGroup>
+    <Content Include="Nuget\Our.ModelsBuilder.Web.nuspec" />
+    <Content Include="Nuget\web.config.install.xdt" />
+    <Content Include="Nuget\web.config.uninstall.xdt" />
     <Content Include="Plugin\lang\en-US.xml" />
     <Content Include="Plugin\modelsbuilder.controller.js" />
     <Content Include="Plugin\modelsbuilder.html" />
diff --git a/src/Our.ModelsBuilder.sln b/src/Our.ModelsBuilder.sln
index 5e9bffa3..076b7e24 100644
--- a/src/Our.ModelsBuilder.sln
+++ b/src/Our.ModelsBuilder.sln
@@ -12,21 +12,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution", "Solution", "{C7
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{42C3FC1A-26BA-4FAB-9585-AC8C25449B8F}"
 	ProjectSection(SolutionItems) = preProject
-		..\build\build-bootstrap.ps1 = ..\build\build-bootstrap.ps1
 		..\build\build.ps1 = ..\build\build.ps1
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ModelsBuilder", "ModelsBuilder", "{1FFB7043-4B35-4A92-80FC-A2306511C8D5}"
-	ProjectSection(SolutionItems) = preProject
-		..\build\Nuspecs\ModelsBuilder\web.config.install.xdt = ..\build\Nuspecs\ModelsBuilder\web.config.install.xdt
-		..\build\Nuspecs\ModelsBuilder\web.config.uninstall.xdt = ..\build\Nuspecs\ModelsBuilder\web.config.uninstall.xdt
-	EndProjectSection
-EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Nuspecs", "Nuspecs", "{30368E85-95E0-4A26-AC5A-D8570DB16FDA}"
 	ProjectSection(SolutionItems) = preProject
 		..\build\Nuspecs\logo.png = ..\build\Nuspecs\logo.png
-		..\build\Nuspecs\Our.ModelsBuilder.nuspec = ..\build\Nuspecs\Our.ModelsBuilder.nuspec
-		..\build\Nuspecs\Our.ModelsBuilder.Web.nuspec = ..\build\Nuspecs\Our.ModelsBuilder.Web.nuspec
 	EndProjectSection
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Our.ModelsBuilder", "Our.ModelsBuilder\Our.ModelsBuilder.csproj", "{998FB014-303A-4146-B3E4-B927BAB0210F}"
@@ -43,33 +34,43 @@ Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
 		Release|Any CPU = Release|Any CPU
+		DevOps|Any CPU = DevOps|Any CPU
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 		{998FB014-303A-4146-B3E4-B927BAB0210F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{998FB014-303A-4146-B3E4-B927BAB0210F}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{998FB014-303A-4146-B3E4-B927BAB0210F}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{998FB014-303A-4146-B3E4-B927BAB0210F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{998FB014-303A-4146-B3E4-B927BAB0210F}.DevOps|Any CPU.ActiveCfg = DevOps|Any CPU
+		{998FB014-303A-4146-B3E4-B927BAB0210F}.DevOps|Any CPU.Build.0 = DevOps|Any CPU
 		{CF597D44-04EA-4FD7-89C8-E4849D1355C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{CF597D44-04EA-4FD7-89C8-E4849D1355C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{CF597D44-04EA-4FD7-89C8-E4849D1355C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{CF597D44-04EA-4FD7-89C8-E4849D1355C8}.Release|Any CPU.Build.0 = Release|Any CPU
+		{CF597D44-04EA-4FD7-89C8-E4849D1355C8}.DevOps|Any CPU.ActiveCfg = DevOps|Any CPU
+		{CF597D44-04EA-4FD7-89C8-E4849D1355C8}.DevOps|Any CPU.Build.0 = DevOps|Any CPU
 		{F0B757DF-0CF7-4AAF-8DD0-F46EDF25C3A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{F0B757DF-0CF7-4AAF-8DD0-F46EDF25C3A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{F0B757DF-0CF7-4AAF-8DD0-F46EDF25C3A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{F0B757DF-0CF7-4AAF-8DD0-F46EDF25C3A3}.Release|Any CPU.Build.0 = Release|Any CPU
+		{F0B757DF-0CF7-4AAF-8DD0-F46EDF25C3A3}.DevOps|Any CPU.ActiveCfg = DevOps|Any CPU
+		{F0B757DF-0CF7-4AAF-8DD0-F46EDF25C3A3}.DevOps|Any CPU.Build.0 = DevOps|Any CPU
 		{2317BE7F-1723-4512-B863-5B6835E583A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{2317BE7F-1723-4512-B863-5B6835E583A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{2317BE7F-1723-4512-B863-5B6835E583A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{2317BE7F-1723-4512-B863-5B6835E583A2}.Release|Any CPU.Build.0 = Release|Any CPU
+		{2317BE7F-1723-4512-B863-5B6835E583A2}.DevOps|Any CPU.ActiveCfg = DevOps|Any CPU
+		{2317BE7F-1723-4512-B863-5B6835E583A2}.DevOps|Any CPU.Build.0 = DevOps|Any CPU
 		{0419A43D-78C2-46C9-95A9-2470F224D60F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{0419A43D-78C2-46C9-95A9-2470F224D60F}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{0419A43D-78C2-46C9-95A9-2470F224D60F}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{0419A43D-78C2-46C9-95A9-2470F224D60F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{0419A43D-78C2-46C9-95A9-2470F224D60F}.DevOps|Any CPU.ActiveCfg = DevOps|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 	EndGlobalSection
 	GlobalSection(NestedProjects) = preSolution
-		{1FFB7043-4B35-4A92-80FC-A2306511C8D5} = {30368E85-95E0-4A26-AC5A-D8570DB16FDA}
 		{30368E85-95E0-4A26-AC5A-D8570DB16FDA} = {42C3FC1A-26BA-4FAB-9585-AC8C25449B8F}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
diff --git a/build/Nuspecs/Our.ModelsBuilder.nuspec b/src/Our.ModelsBuilder/Nuget/Our.ModelsBuilder.nuspec
similarity index 72%
rename from build/Nuspecs/Our.ModelsBuilder.nuspec
rename to src/Our.ModelsBuilder/Nuget/Our.ModelsBuilder.nuspec
index ab7f0ae8..bb361305 100644
--- a/build/Nuspecs/Our.ModelsBuilder.nuspec
+++ b/src/Our.ModelsBuilder/Nuget/Our.ModelsBuilder.nuspec
@@ -2,7 +2,8 @@
 <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
   <metadata minClientVersion="2.8.1">
     <id>Our.ModelsBuilder</id>
-    <version>$version$</version>
+    <version>
+    </version>
     <title>Our ModelsBuilder</title>
     <authors>The Umbraco Community</authors>
     <owners>The Umbraco Community</owners>
@@ -11,10 +12,11 @@
     <iconUrl>https://raw.githubusercontent.com/ZpqrtBnk/Our.ModelsBuilder/v4/dev/etc/logo.png</iconUrl>
     <!--<icon>img\logo.png</icon>-->
     <description>Our ModelsBuilder for Umbraco.</description>
-    <projectUrl>https://github.com/ZpqrtBnk/Our.ModelsBuilder</projectUrl>
+    <projectUrl>https://github.com/modelsbuilder/ModelsBuilder.Original</projectUrl>
     <copyright>$copyright$</copyright>
     <language>en-US</language>
     <tags>umbraco</tags>
+    <repository type="git" url="https://github.com/zpqrtbnk/Zbu.ModelsBuilder" />
     <dependencies>
       <group targetFramework="net472">
         <dependency id="Microsoft.CodeAnalysis.CSharp" version="[3.3.1,4.0.0)" />
@@ -23,11 +25,9 @@
   </metadata>
   <files>
     <!-- our dlls -->
-    <file src="$solution$\build.tmp\bin\Our.ModelsBuilder.dll" target="lib\net472\Our.ModelsBuilder.dll" />
-    <file src="$solution$\build.tmp\bin\Our.ModelsBuilder.pdb" target="lib\net472\Our.ModelsBuilder.pdb" />
-
+    <file src="..\bin\DevOps\Our.ModelsBuilder.dll" target="lib\net472\Our.ModelsBuilder.dll" />
+    <file src="..\bin\DevOps\Our.ModelsBuilder.pdb" target="lib\net472\Our.ModelsBuilder.pdb" />
     <!-- the icon -->
     <!--<file src="$solution$\build\Nuspecs\logo.png" target="img\" />-->
-
   </files>
 </package>
\ No newline at end of file
diff --git a/src/Our.ModelsBuilder/Our.ModelsBuilder.csproj b/src/Our.ModelsBuilder/Our.ModelsBuilder.csproj
index 3801a81b..eacf20e5 100644
--- a/src/Our.ModelsBuilder/Our.ModelsBuilder.csproj
+++ b/src/Our.ModelsBuilder/Our.ModelsBuilder.csproj
@@ -3,6 +3,8 @@
   <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
   <PropertyGroup>
     <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <EmbedUntrackedSources>true</EmbedUntrackedSources>
+    <ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
     <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
     <ProjectGuid>{998FB014-303A-4146-B3E4-B927BAB0210F}</ProjectGuid>
     <OutputType>Library</OutputType>
@@ -32,6 +34,17 @@
     <WarningLevel>4</WarningLevel>
     <DocumentationFile>bin\Release\Our.ModelsBuilder.xml</DocumentationFile>
     <LangVersion>latest</LangVersion>
+
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DevOps|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\DevOps\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <DocumentationFile>bin\Release\Our.ModelsBuilder.xml</DocumentationFile>
+    <LangVersion>latest</LangVersion>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="System.ComponentModel.DataAnnotations" />
@@ -40,8 +53,13 @@
   </ItemGroup>
   <ItemGroup>
     <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="3.3.1" />
+    <PackageReference Include="Microsoft.SourceLink.GitHub">
+      <Version>1.0.0</Version>
+      <PrivateAssets>all</PrivateAssets>
+      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
+    </PackageReference>
     <PackageReference Include="UmbracoCms.Web">
-      <Version>8.3.0-alpha.1</Version>
+      <Version>8.7.0</Version>
     </PackageReference>
   </ItemGroup>
   <ItemGroup>
@@ -123,6 +141,8 @@
     <Compile Include="Validation\MediaTypeModelValidator.cs" />
     <Compile Include="Validation\MemberTypeModelValidator.cs" />
   </ItemGroup>
-  <ItemGroup />
+  <ItemGroup>
+    <Content Include="Nuget\Our.ModelsBuilder.nuspec" />
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 </Project>
\ No newline at end of file
diff --git a/src/SolutionInfo.cs b/src/SolutionInfo.cs
index e460fefc..b46227cf 100644
--- a/src/SolutionInfo.cs
+++ b/src/SolutionInfo.cs
@@ -38,5 +38,5 @@
 // Note: could not release "1.8.0" because it was depending on pre-release NuGet packages
 //  for Roslyn, so had to release 1.8.0-final... starting with 2.1.3 Roslyn has a released
 //  1.0 version, so now we can release "2.1.3" without the "-final" extension.
-[assembly: AssemblyInformationalVersion("4.0.0-alpha.20")]
+[assembly: AssemblyInformationalVersion("4.0.0-alpha.21")]
 // Do not remove this line.