diff --git a/serialize.cpp b/serialize.cpp
index 483cd7a..31ac971 100644
--- a/serialize.cpp
+++ b/serialize.cpp
@@ -19,6 +19,7 @@
 namespace fs = std::experimental::filesystem;
 
 const std::string priorityName = "priority";
+const std::string purposeName = "purpose";
 
 void storePriority(const std::string& versionId, uint8_t priority)
 {
@@ -41,6 +42,27 @@
     oarchive(cereal::make_nvp(priorityName, priority));
 }
 
+void storePurpose(const std::string& versionId, VersionPurpose purpose)
+{
+    auto path = fs::path(PERSIST_DIR) / versionId;
+    if (!fs::is_directory(path))
+    {
+        if (fs::exists(path))
+        {
+            // Delete if it's a non-directory file
+            log<level::WARNING>("Removing non-directory file",
+                                entry("PATH=%s", path.c_str()));
+            fs::remove_all(path);
+        }
+        fs::create_directories(path);
+    }
+    path = path / purposeName;
+
+    std::ofstream os(path.c_str());
+    cereal::JSONOutputArchive oarchive(os);
+    oarchive(cereal::make_nvp(purposeName, purpose));
+}
+
 bool restorePriority(const std::string& versionId, uint8_t& priority)
 {
     auto path = fs::path(PERSIST_DIR) / versionId / priorityName;
@@ -100,6 +122,27 @@
     return false;
 }
 
+bool restorePurpose(const std::string& versionId, VersionPurpose& purpose)
+{
+    auto path = fs::path(PERSIST_DIR) / versionId / purposeName;
+    if (fs::exists(path))
+    {
+        std::ifstream is(path.c_str(), std::ios::in);
+        try
+        {
+            cereal::JSONInputArchive iarchive(is);
+            iarchive(cereal::make_nvp(purposeName, purpose));
+            return true;
+        }
+        catch (cereal::Exception& e)
+        {
+            fs::remove_all(path);
+        }
+    }
+
+    return false;
+}
+
 void removePersistDataDirectory(const std::string& versionId)
 {
     auto path = fs::path(PERSIST_DIR) / versionId;
