diff --git a/lightning-core/src/main/java/org/apache/directmemory/lightning/Lightning.java b/lightning-core/src/main/java/org/apache/directmemory/lightning/Lightning.java
index 9ecaa31..3e678fc 100644
--- a/lightning-core/src/main/java/org/apache/directmemory/lightning/Lightning.java
+++ b/lightning-core/src/main/java/org/apache/directmemory/lightning/Lightning.java
@@ -47,7 +47,7 @@
      * 
      * @return A Builder instance for configuring a new {@link Serializer} instance.
      */
-    public static final Builder newBuilder()
+    public static Builder newBuilder()
     {
         return new Builder();
     }
@@ -60,7 +60,7 @@
      *            instance
      * @return A new {@link Serializer} instance configured using the given {@link SerializerDefinition}s
      */
-    public static final Serializer createSerializer( SerializerDefinition... serializerDefinitions )
+    public static Serializer createSerializer( SerializerDefinition... serializerDefinitions )
     {
         return createSerializer( Arrays.asList( serializerDefinitions ) );
     }
@@ -73,7 +73,7 @@
      *            instance
      * @return A new {@link Serializer} instance configured using the given {@link SerializerDefinition}s
      */
-    public static final Serializer createSerializer( Iterable<? extends SerializerDefinition> serializerDefinitions )
+    public static Serializer createSerializer( Iterable<? extends SerializerDefinition> serializerDefinitions )
     {
         return new Builder().serializerDefinitions( serializerDefinitions ).build();
     }
