diff --git a/pom.xml b/pom.xml
index 4ff01c3..4db4052 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,63 +19,77 @@
     </properties>
 
     <dependencies>
+        <!-- https://mvnrepository.com/artifact/commons-cli/commons-cli -->
         <dependency>
             <groupId>commons-cli</groupId>
             <artifactId>commons-cli</artifactId>
-            <version>1.9.0</version>
+            <version>1.9.0</version> <!-- Released Aug 14, 2024 -->
             <optional>true</optional>
         </dependency>
+
+        <!-- https://mvnrepository.com/artifact/org.eclipse.jgit/org.eclipse.jgit -->
         <dependency>
             <groupId>org.eclipse.jgit</groupId>
             <artifactId>org.eclipse.jgit</artifactId>
-            <version>7.1.0.202411261347-r</version>
+            <version>7.1.0.202411261347-r</version> <!-- Released Dec 04, 2024 -->
         </dependency>
+
+        <!-- https://mvnrepository.com/artifact/io.pebbletemplates/pebble -->
         <dependency>
             <groupId>io.pebbletemplates</groupId>
             <artifactId>pebble</artifactId>
-            <version>3.2.3</version>
+            <version>3.2.3</version> <!-- Released Feb 04, 2025 -->
         </dependency>
+
+        <!-- https://mvnrepository.com/artifact/org.snakeyaml/snakeyaml-engine -->
         <dependency>
             <groupId>org.snakeyaml</groupId>
             <artifactId>snakeyaml-engine</artifactId>
-            <version>2.9</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-io</groupId> <!-- https://stackoverflow.com/questions/32184114 -->
-            <artifactId>commons-io</artifactId>
-            <version>2.18.0</version>
+            <version>2.9</version> <!-- Released Jan 15, 2025 -->
         </dependency>
 
+        <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
         <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-compress</artifactId>
-            <version>1.27.1</version>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>2.18.0</version> <!-- Released Nov 19, 2024 -->
         </dependency>
+
+        <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-compress -->
+        <dependency>
+            <groupId>org.apache.commons</groupId> <!-- https://stackoverflow.com/questions/32184114 -->
+            <artifactId>commons-compress</artifactId>
+            <version>1.27.1</version> <!-- Released Aug 20, 2024 -->
+        </dependency>
+        <!-- https://mvnrepository.com/artifact/com.github.luben/zstd-jni -->
         <dependency>
             <groupId>com.github.luben</groupId>
             <artifactId>zstd-jni</artifactId>
-            <version>1.5.6-10</version>
+            <version>1.5.7-1</version> <!-- Released Feb 20, 2025 -->
         </dependency>
 
 
+        <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
-            <version>2.0.16</version>
+            <version>2.0.17</version> <!-- Released Feb 25, 2025 -->
         </dependency>
+        <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-simple</artifactId>
-            <version>2.0.16</version>
+            <version>2.0.17</version> <!-- Released Feb 25, 2025 -->
         </dependency>
     </dependencies>
 
     <build>
         <plugins>
+            <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-jar-plugin -->
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
-                <version>3.4.2</version>
+                <version>3.4.2</version> <!-- Released Jun 19, 2024 -->
                 <configuration>
                     <archive>
                         <manifest>
@@ -86,10 +100,11 @@
                 </configuration>
             </plugin>
 
+            <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-shade-plugin -->
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-shade-plugin</artifactId>
-                <version>3.6.0</version>
+                <version>3.6.0</version> <!-- Released May 31, 2024 -->
                 <executions>
                     <execution>
                         <phase>package</phase>
@@ -115,10 +130,11 @@
                 </executions>
             </plugin>
 
+            <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-jarsigner-plugin -->
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jarsigner-plugin</artifactId>
-                <version>3.1.0</version>
+                <version>3.1.0</version> <!-- Released Sep 03, 2024 -->
                 <executions>
                     <execution>
                         <id>sign</id>
@@ -140,11 +156,11 @@
                 </configuration>
             </plugin>
 
-
+            <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-release-plugin -->
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-release-plugin</artifactId>
-                <version>3.1.1</version>
+                <version>3.1.1</version> <!-- Released Jul 14, 2024 -->
             </plugin>
         </plugins>
     </build>
diff --git a/src/main/java/eu/m724/blog/BlogBuilder.java b/src/main/java/eu/m724/blog/BlogBuilder.java
index 5f6cc3a..2bb997c 100644
--- a/src/main/java/eu/m724/blog/BlogBuilder.java
+++ b/src/main/java/eu/m724/blog/BlogBuilder.java
@@ -1,10 +1,10 @@
 package eu.m724.blog;
 
 import eu.m724.blog.compress.FileCompressor;
-import eu.m724.blog.data.Feed;
-import eu.m724.blog.data.Post;
-import eu.m724.blog.data.RenderOptions;
-import eu.m724.blog.data.Site;
+import eu.m724.blog.object.Feed;
+import eu.m724.blog.object.Post;
+import eu.m724.blog.object.RenderOptions;
+import eu.m724.blog.object.Site;
 import eu.m724.blog.template.TemplateRenderer;
 import org.apache.commons.compress.compressors.CompressorException;
 import org.apache.commons.io.file.PathUtils;
@@ -203,7 +203,7 @@ public class BlogBuilder {
         var fileHashes = new HashMap<String, String>();
 
         if (renderOptions.remapAssets()) {
-            var assetHashes = StaticCacheRemapper.copyTree(workingDirectory.resolve("assets"), outputDirectory.resolve("assets"));
+            var assetHashes = CacheBuster.copyTree(workingDirectory.resolve("assets"), outputDirectory.resolve("assets"));
 
             assetHashes.forEach((k, v) -> {
                 fileHashes.put("assets/" + k, v); // TODO this seems like a hack
@@ -213,7 +213,7 @@ public class BlogBuilder {
         }
 
         if (renderOptions.remapTemplateStatic()) {
-            var templateStaticHashes = StaticCacheRemapper.copyTree(templateDirectory.resolve("static"), outputDirectory.resolve("static"));
+            var templateStaticHashes = CacheBuster.copyTree(templateDirectory.resolve("static"), outputDirectory.resolve("static"));
 
             templateStaticHashes.forEach((k, v) -> {
                 fileHashes.put("static/" + k, v); // TODO this seems like a hack
diff --git a/src/main/java/eu/m724/blog/StaticCacheRemapper.java b/src/main/java/eu/m724/blog/CacheBuster.java
similarity index 98%
rename from src/main/java/eu/m724/blog/StaticCacheRemapper.java
rename to src/main/java/eu/m724/blog/CacheBuster.java
index 1c6b988..1c37258 100644
--- a/src/main/java/eu/m724/blog/StaticCacheRemapper.java
+++ b/src/main/java/eu/m724/blog/CacheBuster.java
@@ -8,7 +8,7 @@ import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.zip.CRC32C;
 
-public class StaticCacheRemapper {
+public class CacheBuster {
 
     public static Map<String, String> copyTree(Path srcDir, Path destDir) throws IOException {
         var map = new HashMap<String, String>();
diff --git a/src/main/java/eu/m724/blog/ImageFilter.java b/src/main/java/eu/m724/blog/ImageFilter.java
deleted file mode 100644
index cf5dfb9..0000000
--- a/src/main/java/eu/m724/blog/ImageFilter.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*package eu.m724.blog;
-
-import io.pebbletemplates.pebble.error.PebbleException;
-import io.pebbletemplates.pebble.extension.Filter;
-import io.pebbletemplates.pebble.template.EvaluationContext;
-import io.pebbletemplates.pebble.template.PebbleTemplate;
-
-import javax.imageio.ImageIO;
-import java.awt.*;
-import java.awt.image.BufferedImage;
-import java.awt.image.ConvolveOp;
-import java.awt.image.Kernel;
-import java.io.IOException;
-import java.nio.Buffer;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-public class ImageFilter implements Filter {
-    private final Path directory;
-
-    public ImageFilter(Path directory) {
-        this.directory = directory;
-    }
-
-    @Override
-    public Object apply(Object input, Map<String, Object> args, PebbleTemplate self, EvaluationContext context, int lineNumber) throws PebbleException {
-        Path path = null;
-        System.out.println("filter");
-
-        if (input instanceof Path p) {
-            path = directory.resolve(p);
-        } else if (input instanceof String s) {
-            path = Path.of(directory.toString(), s);
-        }
-
-        System.out.println(path);
-
-        if (path == null || !Files.isRegularFile(path))
-            return null;
-
-        var filter = "fx-";
-        var out = path.resolveSibling("f").resolve(filter + path.getFileName());
-
-        if (Files.isRegularFile(out)) {
-            return directory.relativize(out).toString();
-        }
-
-        System.out.println(path);
-        BufferedImage image;
-        try (var is = Files.newInputStream(path)) {
-            image = ImageIO.read(is);
-        } catch (IOException e) {
-            System.err.println("Error processing " + path + " with " + filter + ": " + e.getMessage());
-            return null;
-        }
-
-        var blur = ((Long) args.getOrDefault("blur", 0)).intValue();
-
-        if (blur > 0) {
-            int size = blur * 2 + 1;
-            float[] data = new float[size * size];
-
-            Arrays.fill(data, 1.0f / (size * size));
-
-            Kernel kernel = new Kernel(size, size, data);
-            ConvolveOp op = new ConvolveOp(kernel, ConvolveOp.EDGE_ZERO_FILL, null);
-            image = op.filter(image, null);
-        }
-
-        try (var os = Files.newOutputStream(out)) {
-            ImageIO.write(image, "webp", os);
-        } catch (IOException e) {
-            System.err.println("Error processing " + path + " with " + filter + ": " + e.getMessage());
-            return null;
-        }
-
-        return directory.relativize(out).toString();
-    }
-
-    @Override
-    public List<String> getArgumentNames() {
-        return List.of("blur");
-    }
-}
-*/
\ No newline at end of file
diff --git a/src/main/java/eu/m724/blog/Main.java b/src/main/java/eu/m724/blog/Main.java
index ac3989a..7a4ee03 100644
--- a/src/main/java/eu/m724/blog/Main.java
+++ b/src/main/java/eu/m724/blog/Main.java
@@ -43,7 +43,6 @@ public class Main {
         builder.build();
 
         var end = System.nanoTime();
-        //                                                                            BAD
         LOGGER.info("Exported to {} in {} ms", outputDirectory.toAbsolutePath(), "%.2f".formatted((end - start) / 1000000.0));
 
         builder.startServer(openBrowser);
diff --git a/src/main/java/eu/m724/blog/data/Feed.java b/src/main/java/eu/m724/blog/object/Feed.java
similarity index 98%
rename from src/main/java/eu/m724/blog/data/Feed.java
rename to src/main/java/eu/m724/blog/object/Feed.java
index 2210d88..d4c4a4d 100644
--- a/src/main/java/eu/m724/blog/data/Feed.java
+++ b/src/main/java/eu/m724/blog/object/Feed.java
@@ -1,4 +1,4 @@
-package eu.m724.blog.data;
+package eu.m724.blog.object;
 
 import java.time.format.DateTimeFormatter;
 import java.util.List;
diff --git a/src/main/java/eu/m724/blog/data/Post.java b/src/main/java/eu/m724/blog/object/Post.java
similarity index 99%
rename from src/main/java/eu/m724/blog/data/Post.java
rename to src/main/java/eu/m724/blog/object/Post.java
index 7c6e77e..28af3b5 100644
--- a/src/main/java/eu/m724/blog/data/Post.java
+++ b/src/main/java/eu/m724/blog/object/Post.java
@@ -1,4 +1,4 @@
-package eu.m724.blog.data;
+package eu.m724.blog.object;
 
 import org.eclipse.jgit.api.Git;
 import org.eclipse.jgit.api.errors.GitAPIException;
diff --git a/src/main/java/eu/m724/blog/data/RenderOptions.java b/src/main/java/eu/m724/blog/object/RenderOptions.java
similarity index 94%
rename from src/main/java/eu/m724/blog/data/RenderOptions.java
rename to src/main/java/eu/m724/blog/object/RenderOptions.java
index cd50df4..d123bba 100644
--- a/src/main/java/eu/m724/blog/data/RenderOptions.java
+++ b/src/main/java/eu/m724/blog/object/RenderOptions.java
@@ -1,7 +1,5 @@
-package eu.m724.blog.data;
+package eu.m724.blog.object;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.snakeyaml.engine.v2.api.Load;
 import org.snakeyaml.engine.v2.api.LoadSettings;
 
diff --git a/src/main/java/eu/m724/blog/data/Site.java b/src/main/java/eu/m724/blog/object/Site.java
similarity index 98%
rename from src/main/java/eu/m724/blog/data/Site.java
rename to src/main/java/eu/m724/blog/object/Site.java
index 4f176fe..8b55841 100644
--- a/src/main/java/eu/m724/blog/data/Site.java
+++ b/src/main/java/eu/m724/blog/object/Site.java
@@ -1,4 +1,4 @@
-package eu.m724.blog.data;
+package eu.m724.blog.object;
 
 import org.snakeyaml.engine.v2.api.Load;
 import org.snakeyaml.engine.v2.api.LoadSettings;
diff --git a/src/main/java/eu/m724/blog/template/TemplateExtension.java b/src/main/java/eu/m724/blog/template/TemplateExtension.java
index 4eb8902..472622b 100644
--- a/src/main/java/eu/m724/blog/template/TemplateExtension.java
+++ b/src/main/java/eu/m724/blog/template/TemplateExtension.java
@@ -1,7 +1,7 @@
 package eu.m724.blog.template;
 
-import eu.m724.blog.StaticCacheRemapper;
-import eu.m724.blog.data.Site;
+import eu.m724.blog.CacheBuster;
+import eu.m724.blog.object.Site;
 import io.pebbletemplates.pebble.extension.AbstractExtension;
 import io.pebbletemplates.pebble.extension.Function;
 import io.pebbletemplates.pebble.template.EvaluationContext;
@@ -34,7 +34,7 @@ public class TemplateExtension extends AbstractExtension {
                         var hash = fileHashes.get(path);
 
                         if (hash != null) {
-                            path = StaticCacheRemapper.insertHashInPath(path, hash);
+                            path = CacheBuster.insertHashInPath(path, hash);
                         }
 
                         return site.directory() + "/" + path;
@@ -52,7 +52,7 @@ public class TemplateExtension extends AbstractExtension {
                         var hash = fileHashes.get(path);
 
                         if (hash != null) {
-                            path = StaticCacheRemapper.insertHashInPath(path, hash);
+                            path = CacheBuster.insertHashInPath(path, hash);
                         }
 
                         return site.directory() + "/" + path;
diff --git a/src/main/java/eu/m724/blog/template/TemplateRenderer.java b/src/main/java/eu/m724/blog/template/TemplateRenderer.java
index b95144a..010fd0d 100644
--- a/src/main/java/eu/m724/blog/template/TemplateRenderer.java
+++ b/src/main/java/eu/m724/blog/template/TemplateRenderer.java
@@ -1,7 +1,7 @@
 package eu.m724.blog.template;
 
-import eu.m724.blog.data.Post;
-import eu.m724.blog.data.Site;
+import eu.m724.blog.object.Post;
+import eu.m724.blog.object.Site;
 import io.pebbletemplates.pebble.PebbleEngine;
 import io.pebbletemplates.pebble.loader.FileLoader;
 import io.pebbletemplates.pebble.template.PebbleTemplate;