diff --git a/src/main/java/com/syncleus/ferma/AbstractElementFrame.java b/src/main/java/com/syncleus/ferma/AbstractElementFrame.java
index b6a1b2546f386dc4c664253f78aa755292e4ce84..94081f5678f3d861bc015cbcda44583f268ba7b0 100644
--- a/src/main/java/com/syncleus/ferma/AbstractElementFrame.java
+++ b/src/main/java/com/syncleus/ferma/AbstractElementFrame.java
@@ -29,7 +29,7 @@ package com.syncleus.ferma;
 
 import java.util.Set;
 
-import com.syncleus.ferma.annotations.CachesReflection;
+import com.syncleus.ferma.framefactories.annotation.CachesReflection;
 import com.tinkerpop.blueprints.Element;
 
 /**
diff --git a/src/main/java/com/syncleus/ferma/DelegatingFramedGraph.java b/src/main/java/com/syncleus/ferma/DelegatingFramedGraph.java
index 4a2b8066228d8a2fcd15b74dce9ed6c9f35ef7ee..bd298e4392a6829669a3414920b402f769cfa234 100644
--- a/src/main/java/com/syncleus/ferma/DelegatingFramedGraph.java
+++ b/src/main/java/com/syncleus/ferma/DelegatingFramedGraph.java
@@ -27,12 +27,14 @@
  */
 package com.syncleus.ferma;
 
+import com.syncleus.ferma.framefactories.FrameFactory;
+import com.syncleus.ferma.framefactories.DefaultFrameFactory;
 import com.syncleus.ferma.typeresolvers.UntypedTypeResolver;
 import com.syncleus.ferma.typeresolvers.TypeResolver;
 import com.syncleus.ferma.typeresolvers.PolymorphicTypeResolver;
 import com.google.common.base.Function;
 import com.google.common.collect.Iterators;
-import com.syncleus.ferma.annotations.AnnotationFrameFactory;
+import com.syncleus.ferma.framefactories.annotation.AnnotationFrameFactory;
 import com.tinkerpop.blueprints.*;
 
 import java.util.Collection;
diff --git a/src/main/java/com/syncleus/ferma/DelegatingFramedTransactionalGraph.java b/src/main/java/com/syncleus/ferma/DelegatingFramedTransactionalGraph.java
index e0927462f6063d63213e133b28d3498e55522b2a..3a38dec5ef3c7cb93775f24256f7b016d57fdce7 100644
--- a/src/main/java/com/syncleus/ferma/DelegatingFramedTransactionalGraph.java
+++ b/src/main/java/com/syncleus/ferma/DelegatingFramedTransactionalGraph.java
@@ -18,6 +18,7 @@
  ******************************************************************************/
 package com.syncleus.ferma;
 
+import com.syncleus.ferma.framefactories.FrameFactory;
 import com.syncleus.ferma.typeresolvers.TypeResolver;
 import com.tinkerpop.blueprints.TransactionalGraph;
 
diff --git a/src/main/java/com/syncleus/ferma/DefaultFrameFactory.java b/src/main/java/com/syncleus/ferma/framefactories/DefaultFrameFactory.java
similarity index 97%
rename from src/main/java/com/syncleus/ferma/DefaultFrameFactory.java
rename to src/main/java/com/syncleus/ferma/framefactories/DefaultFrameFactory.java
index 1df52f5f6b600ab7ef9d4bc119ee47d387b3556b..2f8502a41752f7cb72d883404ddee0dbfd2e9624 100644
--- a/src/main/java/com/syncleus/ferma/DefaultFrameFactory.java
+++ b/src/main/java/com/syncleus/ferma/framefactories/DefaultFrameFactory.java
@@ -16,7 +16,7 @@
  *  Philadelphia, PA 19148                                                     *
  *                                                                             *
  ******************************************************************************/
-package com.syncleus.ferma;
+package com.syncleus.ferma.framefactories;
 
 import com.tinkerpop.blueprints.Element;
 
diff --git a/src/main/java/com/syncleus/ferma/FrameFactory.java b/src/main/java/com/syncleus/ferma/framefactories/FrameFactory.java
similarity index 97%
rename from src/main/java/com/syncleus/ferma/FrameFactory.java
rename to src/main/java/com/syncleus/ferma/framefactories/FrameFactory.java
index 89ddd4611dda74d2e65b4a0cde34d72b14be3d03..03b177bddc2b532d70c4a262be99e1c27c122d5b 100644
--- a/src/main/java/com/syncleus/ferma/FrameFactory.java
+++ b/src/main/java/com/syncleus/ferma/framefactories/FrameFactory.java
@@ -25,7 +25,7 @@
  * Source License: Apache Public License v2.0
  * When: November, 20th 2014
  */
-package com.syncleus.ferma;
+package com.syncleus.ferma.framefactories;
 
 import com.tinkerpop.blueprints.Element;
 
diff --git a/src/main/java/com/syncleus/ferma/annotations/AdjacencyMethodHandler.java b/src/main/java/com/syncleus/ferma/framefactories/annotation/AdjacencyMethodHandler.java
similarity index 99%
rename from src/main/java/com/syncleus/ferma/annotations/AdjacencyMethodHandler.java
rename to src/main/java/com/syncleus/ferma/framefactories/annotation/AdjacencyMethodHandler.java
index a726d7ac440a786d0adff4abb7d84fce3f45ff39..352e152325309547dbc9b2f12464ad390cc26b09 100644
--- a/src/main/java/com/syncleus/ferma/annotations/AdjacencyMethodHandler.java
+++ b/src/main/java/com/syncleus/ferma/framefactories/annotation/AdjacencyMethodHandler.java
@@ -16,10 +16,11 @@
  *  Philadelphia, PA 19148                                                     *
  *                                                                             *
  ******************************************************************************/
-package com.syncleus.ferma.annotations;
+package com.syncleus.ferma.framefactories.annotation;
 
 import com.syncleus.ferma.typeresolvers.TypeResolver;
 import com.syncleus.ferma.*;
+import com.syncleus.ferma.annotations.Adjacency;
 import com.tinkerpop.blueprints.Direction;
 import com.tinkerpop.gremlin.Tokens;
 import net.bytebuddy.dynamic.DynamicType;
diff --git a/src/main/java/com/syncleus/ferma/annotations/AnnotationFrameFactory.java b/src/main/java/com/syncleus/ferma/framefactories/annotation/AnnotationFrameFactory.java
similarity index 90%
rename from src/main/java/com/syncleus/ferma/annotations/AnnotationFrameFactory.java
rename to src/main/java/com/syncleus/ferma/framefactories/annotation/AnnotationFrameFactory.java
index 54182346934810246cd5426dc83955e73eedcaea..3082bfc19ebd4ffe6eb994fd5ed47c5e6fa4408f 100644
--- a/src/main/java/com/syncleus/ferma/annotations/AnnotationFrameFactory.java
+++ b/src/main/java/com/syncleus/ferma/framefactories/annotation/AnnotationFrameFactory.java
@@ -16,9 +16,18 @@
  *  Philadelphia, PA 19148                                                     *
  *                                                                             *
  ******************************************************************************/
-package com.syncleus.ferma.annotations;
+package com.syncleus.ferma.framefactories.annotation;
 
+import com.syncleus.ferma.framefactories.FrameFactory;
 import com.syncleus.ferma.*;
+import com.syncleus.ferma.framefactories.FrameFactory;
+import com.syncleus.ferma.framefactories.annotation.AdjacencyMethodHandler;
+import com.syncleus.ferma.framefactories.annotation.CachesReflection;
+import com.syncleus.ferma.framefactories.annotation.InVertexMethodHandler;
+import com.syncleus.ferma.framefactories.annotation.IncidenceMethodHandler;
+import com.syncleus.ferma.framefactories.annotation.MethodHandler;
+import com.syncleus.ferma.framefactories.annotation.OutVertexMethodHandler;
+import com.syncleus.ferma.framefactories.annotation.PropertyMethodHandler;
 import com.tinkerpop.blueprints.Edge;
 import com.tinkerpop.blueprints.Element;
 import com.tinkerpop.blueprints.Vertex;
diff --git a/src/main/java/com/syncleus/ferma/annotations/CachesReflection.java b/src/main/java/com/syncleus/ferma/framefactories/annotation/CachesReflection.java
similarity index 77%
rename from src/main/java/com/syncleus/ferma/annotations/CachesReflection.java
rename to src/main/java/com/syncleus/ferma/framefactories/annotation/CachesReflection.java
index 1d57e328a218a0de258c836e84305d115ae66684..e886a7b30c75097137badf494f3252a7a326252c 100644
--- a/src/main/java/com/syncleus/ferma/annotations/CachesReflection.java
+++ b/src/main/java/com/syncleus/ferma/framefactories/annotation/CachesReflection.java
@@ -1,4 +1,4 @@
-package com.syncleus.ferma.annotations;
+package com.syncleus.ferma.framefactories.annotation;
 
 import com.syncleus.ferma.ReflectionCache;
 
diff --git a/src/main/java/com/syncleus/ferma/annotations/InVertexMethodHandler.java b/src/main/java/com/syncleus/ferma/framefactories/annotation/InVertexMethodHandler.java
similarity index 97%
rename from src/main/java/com/syncleus/ferma/annotations/InVertexMethodHandler.java
rename to src/main/java/com/syncleus/ferma/framefactories/annotation/InVertexMethodHandler.java
index 2e96aea3e1c0ca189bffa4cc180d69b44f68fc58..6e09d731c0fcc253f5d506f66bdeb696a018754e 100644
--- a/src/main/java/com/syncleus/ferma/annotations/InVertexMethodHandler.java
+++ b/src/main/java/com/syncleus/ferma/framefactories/annotation/InVertexMethodHandler.java
@@ -16,9 +16,10 @@
  *  Philadelphia, PA 19148                                                     *
  *                                                                             *
  ******************************************************************************/
-package com.syncleus.ferma.annotations;
+package com.syncleus.ferma.framefactories.annotation;
 
 import com.syncleus.ferma.EdgeFrame;
+import com.syncleus.ferma.annotations.InVertex;
 import net.bytebuddy.dynamic.DynamicType;
 import net.bytebuddy.instrumentation.MethodDelegation;
 import net.bytebuddy.instrumentation.method.bytecode.bind.annotation.Origin;
diff --git a/src/main/java/com/syncleus/ferma/annotations/IncidenceMethodHandler.java b/src/main/java/com/syncleus/ferma/framefactories/annotation/IncidenceMethodHandler.java
similarity index 98%
rename from src/main/java/com/syncleus/ferma/annotations/IncidenceMethodHandler.java
rename to src/main/java/com/syncleus/ferma/framefactories/annotation/IncidenceMethodHandler.java
index 1d3cae29dc82d7defbf807eef61141cd1777486c..29153dc75019b5fd7079bf5228a4d5a96ecf4215 100644
--- a/src/main/java/com/syncleus/ferma/annotations/IncidenceMethodHandler.java
+++ b/src/main/java/com/syncleus/ferma/framefactories/annotation/IncidenceMethodHandler.java
@@ -16,10 +16,11 @@
  *  Philadelphia, PA 19148                                                     *
  *                                                                             *
  ******************************************************************************/
-package com.syncleus.ferma.annotations;
+package com.syncleus.ferma.framefactories.annotation;
 
 import com.syncleus.ferma.typeresolvers.TypeResolver;
 import com.syncleus.ferma.*;
+import com.syncleus.ferma.annotations.Incidence;
 import com.tinkerpop.blueprints.Direction;
 import com.tinkerpop.gremlin.Tokens;
 import net.bytebuddy.dynamic.DynamicType;
diff --git a/src/main/java/com/syncleus/ferma/annotations/MethodHandler.java b/src/main/java/com/syncleus/ferma/framefactories/annotation/MethodHandler.java
similarity index 97%
rename from src/main/java/com/syncleus/ferma/annotations/MethodHandler.java
rename to src/main/java/com/syncleus/ferma/framefactories/annotation/MethodHandler.java
index e010d53a980b0931f1fd5953ee37a40f7bf124b6..c18556535045507c61af82dafbd6f013d0829bdd 100644
--- a/src/main/java/com/syncleus/ferma/annotations/MethodHandler.java
+++ b/src/main/java/com/syncleus/ferma/framefactories/annotation/MethodHandler.java
@@ -16,7 +16,7 @@
  *  Philadelphia, PA 19148                                                     *
  *                                                                             *
  ******************************************************************************/
-package com.syncleus.ferma.annotations;
+package com.syncleus.ferma.framefactories.annotation;
 
 import net.bytebuddy.dynamic.DynamicType;
 
diff --git a/src/main/java/com/syncleus/ferma/annotations/OutVertexMethodHandler.java b/src/main/java/com/syncleus/ferma/framefactories/annotation/OutVertexMethodHandler.java
similarity index 97%
rename from src/main/java/com/syncleus/ferma/annotations/OutVertexMethodHandler.java
rename to src/main/java/com/syncleus/ferma/framefactories/annotation/OutVertexMethodHandler.java
index a55d37268c53bdba612c77766ed5cdb294024fa3..8f1d1432e8fb3715ad9358f60c536bc9508aec3b 100644
--- a/src/main/java/com/syncleus/ferma/annotations/OutVertexMethodHandler.java
+++ b/src/main/java/com/syncleus/ferma/framefactories/annotation/OutVertexMethodHandler.java
@@ -16,9 +16,10 @@
  *  Philadelphia, PA 19148                                                     *
  *                                                                             *
  ******************************************************************************/
-package com.syncleus.ferma.annotations;
+package com.syncleus.ferma.framefactories.annotation;
 
 import com.syncleus.ferma.EdgeFrame;
+import com.syncleus.ferma.annotations.OutVertex;
 import net.bytebuddy.dynamic.DynamicType;
 import net.bytebuddy.instrumentation.MethodDelegation;
 import net.bytebuddy.instrumentation.method.bytecode.bind.annotation.Origin;
diff --git a/src/main/java/com/syncleus/ferma/annotations/PropertyMethodHandler.java b/src/main/java/com/syncleus/ferma/framefactories/annotation/PropertyMethodHandler.java
similarity index 98%
rename from src/main/java/com/syncleus/ferma/annotations/PropertyMethodHandler.java
rename to src/main/java/com/syncleus/ferma/framefactories/annotation/PropertyMethodHandler.java
index 058c587c62a3697641d6ffbc2599778bcb5792ae..837808ec4aa664a8db2c99ff11da7c8b7b46dbb5 100644
--- a/src/main/java/com/syncleus/ferma/annotations/PropertyMethodHandler.java
+++ b/src/main/java/com/syncleus/ferma/framefactories/annotation/PropertyMethodHandler.java
@@ -16,9 +16,10 @@
  *  Philadelphia, PA 19148                                                     *
  *                                                                             *
  ******************************************************************************/
-package com.syncleus.ferma.annotations;
+package com.syncleus.ferma.framefactories.annotation;
 
 import com.syncleus.ferma.ElementFrame;
+import com.syncleus.ferma.annotations.Property;
 import net.bytebuddy.dynamic.DynamicType;
 import net.bytebuddy.instrumentation.MethodDelegation;
 import net.bytebuddy.instrumentation.method.bytecode.bind.annotation.Argument;
diff --git a/src/main/java/com/syncleus/ferma/annotations/ReflectionUtility.java b/src/main/java/com/syncleus/ferma/framefactories/annotation/ReflectionUtility.java
similarity index 98%
rename from src/main/java/com/syncleus/ferma/annotations/ReflectionUtility.java
rename to src/main/java/com/syncleus/ferma/framefactories/annotation/ReflectionUtility.java
index 87bedabd983e9c63a548f1eca5e5bf8c8dd4a6d2..d0df693c02727155b9deef969f5389bbd2a61779 100644
--- a/src/main/java/com/syncleus/ferma/annotations/ReflectionUtility.java
+++ b/src/main/java/com/syncleus/ferma/framefactories/annotation/ReflectionUtility.java
@@ -16,7 +16,7 @@
  *  Philadelphia, PA 19148                                                     *
  *                                                                             *
  ******************************************************************************/
-package com.syncleus.ferma.annotations;
+package com.syncleus.ferma.framefactories.annotation;
 
 import com.tinkerpop.blueprints.Vertex;
 
diff --git a/src/test/java/com/syncleus/ferma/FramedGraphTest.java b/src/test/java/com/syncleus/ferma/FramedGraphTest.java
index 440a13ba46007c423a51fb8e3e4a93cb68a35c39..2208353cb4cd48b768ee69d6ca0fd9dbee8d29e3 100644
--- a/src/test/java/com/syncleus/ferma/FramedGraphTest.java
+++ b/src/test/java/com/syncleus/ferma/FramedGraphTest.java
@@ -18,6 +18,7 @@
  ******************************************************************************/
 package com.syncleus.ferma;
 
+import com.syncleus.ferma.framefactories.FrameFactory;
 import com.syncleus.ferma.typeresolvers.PolymorphicTypeResolver;
 import java.util.Collection;
 import org.junit.Assert;
diff --git a/src/test/java/com/syncleus/ferma/SimpleTypeResolverTest.java b/src/test/java/com/syncleus/ferma/SimpleTypeResolverTest.java
index 7a806ec403882f34a6881fb1a5efdd8d401c2240..47c09c5680d2367c00584bbe8a736aa1f7ac280a 100644
--- a/src/test/java/com/syncleus/ferma/SimpleTypeResolverTest.java
+++ b/src/test/java/com/syncleus/ferma/SimpleTypeResolverTest.java
@@ -19,7 +19,7 @@
 package com.syncleus.ferma;
 
 import com.syncleus.ferma.typeresolvers.PolymorphicTypeResolver;
-import com.syncleus.ferma.annotations.AnnotationFrameFactory;
+import com.syncleus.ferma.framefactories.annotation.AnnotationFrameFactory;
 import com.tinkerpop.blueprints.impls.tg.TinkerGraph;
 import org.junit.Assert;
 import org.junit.Test;