diff --git a/src/main/java/org/apache/sling/query/AbstractQuery.java b/src/main/java/org/apache/sling/query/AbstractQuery.java
index 20bb788..0ead8fe 100644
--- a/src/main/java/org/apache/sling/query/AbstractQuery.java
+++ b/src/main/java/org/apache/sling/query/AbstractQuery.java
@@ -24,12 +24,12 @@
 import java.util.Iterator;
 import java.util.List;
 
+import org.apache.sling.query.api.Function;
 import org.apache.sling.query.api.Predicate;
 import org.apache.sling.query.api.SearchStrategy;
-import org.apache.sling.query.api.TreeProvider;
-import org.apache.sling.query.api.internal.Function;
 import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
 import org.apache.sling.query.api.internal.Option;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.function.AddFunction;
 import org.apache.sling.query.function.ChildrenFunction;
 import org.apache.sling.query.function.ClosestFunction;
@@ -69,7 +69,7 @@
 
 	private final TreeProvider<T> provider;
 
-	protected AbstractQuery(TreeProvider<T> provider, T[] initialCollection, SearchStrategy strategy) {
+	AbstractQuery(TreeProvider<T> provider, T[] initialCollection, SearchStrategy strategy) {
 		this.provider = provider;
 		this.initialCollection = new ArrayList<T>(Arrays.asList(initialCollection));
 		this.searchStrategy = strategy;
diff --git a/src/main/java/org/apache/sling/query/api/internal/Function.java b/src/main/java/org/apache/sling/query/api/Function.java
similarity index 96%
rename from src/main/java/org/apache/sling/query/api/internal/Function.java
rename to src/main/java/org/apache/sling/query/api/Function.java
index bdb82e1..ef971e2 100644
--- a/src/main/java/org/apache/sling/query/api/internal/Function.java
+++ b/src/main/java/org/apache/sling/query/api/Function.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.sling.query.api.internal;
+package org.apache.sling.query.api;
 
 import aQute.bnd.annotation.ConsumerType;
 
diff --git a/src/main/java/org/apache/sling/query/api/internal/ElementToIteratorFunction.java b/src/main/java/org/apache/sling/query/api/internal/ElementToIteratorFunction.java
index dd96153..a3bc9a8 100644
--- a/src/main/java/org/apache/sling/query/api/internal/ElementToIteratorFunction.java
+++ b/src/main/java/org/apache/sling/query/api/internal/ElementToIteratorFunction.java
@@ -21,5 +21,7 @@
 
 import java.util.Iterator;
 
+import org.apache.sling.query.api.Function;
+
 public interface ElementToIteratorFunction<T> extends Function<T, Iterator<T>> {
 }
diff --git a/src/main/java/org/apache/sling/query/api/internal/IteratorToIteratorFunction.java b/src/main/java/org/apache/sling/query/api/internal/IteratorToIteratorFunction.java
index 6fb9e4c..07552ed 100644
--- a/src/main/java/org/apache/sling/query/api/internal/IteratorToIteratorFunction.java
+++ b/src/main/java/org/apache/sling/query/api/internal/IteratorToIteratorFunction.java
@@ -21,5 +21,7 @@
 
 import java.util.Iterator;
 
+import org.apache.sling.query.api.Function;
+
 public interface IteratorToIteratorFunction<T> extends Function<Iterator<Option<T>>, Iterator<Option<T>>> {
 }
diff --git a/src/main/java/org/apache/sling/query/api/TreeProvider.java b/src/main/java/org/apache/sling/query/api/internal/TreeProvider.java
similarity index 93%
rename from src/main/java/org/apache/sling/query/api/TreeProvider.java
rename to src/main/java/org/apache/sling/query/api/internal/TreeProvider.java
index 4278f06..82ad1f6 100644
--- a/src/main/java/org/apache/sling/query/api/TreeProvider.java
+++ b/src/main/java/org/apache/sling/query/api/internal/TreeProvider.java
@@ -17,11 +17,12 @@
  * under the License.
  */
 
-package org.apache.sling.query.api;
+package org.apache.sling.query.api.internal;
 
 import java.util.Iterator;
 import java.util.List;
 
+import org.apache.sling.query.api.Predicate;
 import org.apache.sling.query.selector.parser.Attribute;
 import org.apache.sling.query.selector.parser.SelectorSegment;
 
diff --git a/src/main/java/org/apache/sling/query/function/ChildrenFunction.java b/src/main/java/org/apache/sling/query/function/ChildrenFunction.java
index d335793..22262a6 100644
--- a/src/main/java/org/apache/sling/query/function/ChildrenFunction.java
+++ b/src/main/java/org/apache/sling/query/function/ChildrenFunction.java
@@ -21,8 +21,8 @@
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.TreeProvider;
 import org.apache.sling.query.api.internal.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.TreeProvider;
 
 public class ChildrenFunction<T> implements ElementToIteratorFunction<T> {
 
diff --git a/src/main/java/org/apache/sling/query/function/ClosestFunction.java b/src/main/java/org/apache/sling/query/function/ClosestFunction.java
index 08c1937..9297d92 100644
--- a/src/main/java/org/apache/sling/query/function/ClosestFunction.java
+++ b/src/main/java/org/apache/sling/query/function/ClosestFunction.java
@@ -22,8 +22,8 @@
 import java.util.Iterator;
 
 import org.apache.sling.query.api.Predicate;
-import org.apache.sling.query.api.TreeProvider;
 import org.apache.sling.query.api.internal.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.util.IteratorUtils;
 
 public class ClosestFunction<T> implements ElementToIteratorFunction<T> {
diff --git a/src/main/java/org/apache/sling/query/function/CompositeFunction.java b/src/main/java/org/apache/sling/query/function/CompositeFunction.java
index 538b9cd..178baad 100644
--- a/src/main/java/org/apache/sling/query/function/CompositeFunction.java
+++ b/src/main/java/org/apache/sling/query/function/CompositeFunction.java
@@ -22,7 +22,7 @@
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.sling.query.api.internal.Function;
+import org.apache.sling.query.api.Function;
 import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
 import org.apache.sling.query.api.internal.Option;
 
diff --git a/src/main/java/org/apache/sling/query/function/DescendantFunction.java b/src/main/java/org/apache/sling/query/function/DescendantFunction.java
index 657c8ba..1c95c23 100644
--- a/src/main/java/org/apache/sling/query/function/DescendantFunction.java
+++ b/src/main/java/org/apache/sling/query/function/DescendantFunction.java
@@ -21,9 +21,9 @@
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.TreeProvider;
 import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
 import org.apache.sling.query.api.internal.Option;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.iterator.DescendantsIterator;
 
 public class DescendantFunction<T> implements IteratorToIteratorFunction<T> {
diff --git a/src/main/java/org/apache/sling/query/function/FindFunction.java b/src/main/java/org/apache/sling/query/function/FindFunction.java
index 7580cad..62a35de 100644
--- a/src/main/java/org/apache/sling/query/function/FindFunction.java
+++ b/src/main/java/org/apache/sling/query/function/FindFunction.java
@@ -24,8 +24,8 @@
 import java.util.List;
 
 import org.apache.sling.query.api.SearchStrategy;
-import org.apache.sling.query.api.TreeProvider;
 import org.apache.sling.query.api.internal.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.iterator.WarningIterator;
 import org.apache.sling.query.iterator.tree.BfsTreeIterator;
 import org.apache.sling.query.iterator.tree.DfsTreeIterator;
diff --git a/src/main/java/org/apache/sling/query/function/HasFunction.java b/src/main/java/org/apache/sling/query/function/HasFunction.java
index 4407d0d..056297d 100644
--- a/src/main/java/org/apache/sling/query/function/HasFunction.java
+++ b/src/main/java/org/apache/sling/query/function/HasFunction.java
@@ -23,10 +23,10 @@
 
 import org.apache.sling.query.api.Predicate;
 import org.apache.sling.query.api.SearchStrategy;
-import org.apache.sling.query.api.TreeProvider;
 import org.apache.sling.query.api.internal.ElementToIteratorFunction;
 import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
 import org.apache.sling.query.api.internal.Option;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.iterator.EmptyElementFilter;
 import org.apache.sling.query.selector.SelectorFunction;
 import org.apache.sling.query.util.IteratorUtils;
diff --git a/src/main/java/org/apache/sling/query/function/IteratorToIteratorFunctionWrapper.java b/src/main/java/org/apache/sling/query/function/IteratorToIteratorFunctionWrapper.java
index 7693904..4d7ce3c 100644
--- a/src/main/java/org/apache/sling/query/function/IteratorToIteratorFunctionWrapper.java
+++ b/src/main/java/org/apache/sling/query/function/IteratorToIteratorFunctionWrapper.java
@@ -21,8 +21,8 @@
 
 import java.util.Iterator;
 
+import org.apache.sling.query.api.Function;
 import org.apache.sling.query.api.internal.ElementToIteratorFunction;
-import org.apache.sling.query.api.internal.Function;
 import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
 import org.apache.sling.query.api.internal.Option;
 import org.apache.sling.query.iterator.ExpandingIterator;
diff --git a/src/main/java/org/apache/sling/query/function/NextFunction.java b/src/main/java/org/apache/sling/query/function/NextFunction.java
index da85fb9..21e829c 100644
--- a/src/main/java/org/apache/sling/query/function/NextFunction.java
+++ b/src/main/java/org/apache/sling/query/function/NextFunction.java
@@ -22,8 +22,8 @@
 import java.util.Iterator;
 
 import org.apache.sling.query.api.Predicate;
-import org.apache.sling.query.api.TreeProvider;
 import org.apache.sling.query.api.internal.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.iterator.SiblingsIterator;
 import org.apache.sling.query.iterator.SiblingsIterator.Type;
 
diff --git a/src/main/java/org/apache/sling/query/function/ParentFunction.java b/src/main/java/org/apache/sling/query/function/ParentFunction.java
index a5885b9..9c86d14 100644
--- a/src/main/java/org/apache/sling/query/function/ParentFunction.java
+++ b/src/main/java/org/apache/sling/query/function/ParentFunction.java
@@ -21,8 +21,8 @@
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.TreeProvider;
 import org.apache.sling.query.api.internal.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.util.IteratorUtils;
 
 public class ParentFunction<T> implements ElementToIteratorFunction<T> {
diff --git a/src/main/java/org/apache/sling/query/function/ParentsFunction.java b/src/main/java/org/apache/sling/query/function/ParentsFunction.java
index 0df4679..8c3a8fc 100644
--- a/src/main/java/org/apache/sling/query/function/ParentsFunction.java
+++ b/src/main/java/org/apache/sling/query/function/ParentsFunction.java
@@ -22,8 +22,8 @@
 import java.util.Iterator;
 
 import org.apache.sling.query.api.Predicate;
-import org.apache.sling.query.api.TreeProvider;
 import org.apache.sling.query.api.internal.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.iterator.ParentsIterator;
 
 public class ParentsFunction<T> implements ElementToIteratorFunction<T> {
diff --git a/src/main/java/org/apache/sling/query/function/PrevFunction.java b/src/main/java/org/apache/sling/query/function/PrevFunction.java
index e1b5da3..81d26ad 100644
--- a/src/main/java/org/apache/sling/query/function/PrevFunction.java
+++ b/src/main/java/org/apache/sling/query/function/PrevFunction.java
@@ -22,8 +22,8 @@
 import java.util.Iterator;
 
 import org.apache.sling.query.api.Predicate;
-import org.apache.sling.query.api.TreeProvider;
 import org.apache.sling.query.api.internal.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.iterator.SiblingsIterator;
 import org.apache.sling.query.iterator.SiblingsIterator.Type;
 
diff --git a/src/main/java/org/apache/sling/query/function/SiblingsFunction.java b/src/main/java/org/apache/sling/query/function/SiblingsFunction.java
index a4ddca5..04f8dc6 100644
--- a/src/main/java/org/apache/sling/query/function/SiblingsFunction.java
+++ b/src/main/java/org/apache/sling/query/function/SiblingsFunction.java
@@ -21,8 +21,8 @@
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.TreeProvider;
 import org.apache.sling.query.api.internal.ElementToIteratorFunction;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.util.IteratorUtils;
 
 public class SiblingsFunction<T> implements ElementToIteratorFunction<T> {
diff --git a/src/main/java/org/apache/sling/query/function/UniqueFunction.java b/src/main/java/org/apache/sling/query/function/UniqueFunction.java
index fdfd20b..67ee800 100644
--- a/src/main/java/org/apache/sling/query/function/UniqueFunction.java
+++ b/src/main/java/org/apache/sling/query/function/UniqueFunction.java
@@ -21,9 +21,9 @@
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.TreeProvider;
 import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
 import org.apache.sling.query.api.internal.Option;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.iterator.UniqueIterator;
 
 public class UniqueFunction<T> implements IteratorToIteratorFunction<T> {
diff --git a/src/main/java/org/apache/sling/query/iterator/DescendantsIterator.java b/src/main/java/org/apache/sling/query/iterator/DescendantsIterator.java
index d4469f7..908c3b3 100644
--- a/src/main/java/org/apache/sling/query/iterator/DescendantsIterator.java
+++ b/src/main/java/org/apache/sling/query/iterator/DescendantsIterator.java
@@ -22,8 +22,8 @@
 import java.util.ArrayList;
 import java.util.Iterator;
 
-import org.apache.sling.query.api.TreeProvider;
 import org.apache.sling.query.api.internal.Option;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.util.LazyList;
 
 public class DescendantsIterator<T> extends AbstractIterator<Option<T>> {
diff --git a/src/main/java/org/apache/sling/query/iterator/ParentsIterator.java b/src/main/java/org/apache/sling/query/iterator/ParentsIterator.java
index 78faf76..8dbf651 100644
--- a/src/main/java/org/apache/sling/query/iterator/ParentsIterator.java
+++ b/src/main/java/org/apache/sling/query/iterator/ParentsIterator.java
@@ -20,7 +20,7 @@
 package org.apache.sling.query.iterator;
 
 import org.apache.sling.query.api.Predicate;
-import org.apache.sling.query.api.TreeProvider;
+import org.apache.sling.query.api.internal.TreeProvider;
 
 public class ParentsIterator<T> extends AbstractIterator<T> {
 
diff --git a/src/main/java/org/apache/sling/query/iterator/SiblingsIterator.java b/src/main/java/org/apache/sling/query/iterator/SiblingsIterator.java
index 663a962..a20860b 100644
--- a/src/main/java/org/apache/sling/query/iterator/SiblingsIterator.java
+++ b/src/main/java/org/apache/sling/query/iterator/SiblingsIterator.java
@@ -23,7 +23,7 @@
 import java.util.ListIterator;
 
 import org.apache.sling.query.api.Predicate;
-import org.apache.sling.query.api.TreeProvider;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.util.IteratorUtils;
 import org.apache.sling.query.util.LazyList;
 
diff --git a/src/main/java/org/apache/sling/query/iterator/UniqueIterator.java b/src/main/java/org/apache/sling/query/iterator/UniqueIterator.java
index 17d50b1..48b65b0 100644
--- a/src/main/java/org/apache/sling/query/iterator/UniqueIterator.java
+++ b/src/main/java/org/apache/sling/query/iterator/UniqueIterator.java
@@ -21,8 +21,8 @@
 
 import java.util.Iterator;
 
-import org.apache.sling.query.api.TreeProvider;
 import org.apache.sling.query.api.internal.Option;
+import org.apache.sling.query.api.internal.TreeProvider;
 
 public class UniqueIterator<T> extends AbstractIterator<Option<T>> {
 
diff --git a/src/main/java/org/apache/sling/query/iterator/tree/BfsTreeIterator.java b/src/main/java/org/apache/sling/query/iterator/tree/BfsTreeIterator.java
index 25fbfc6..41c531b 100644
--- a/src/main/java/org/apache/sling/query/iterator/tree/BfsTreeIterator.java
+++ b/src/main/java/org/apache/sling/query/iterator/tree/BfsTreeIterator.java
@@ -23,7 +23,7 @@
 import java.util.Iterator;
 import java.util.LinkedList;
 
-import org.apache.sling.query.api.TreeProvider;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.iterator.AbstractIterator;
 
 public class BfsTreeIterator<T> extends AbstractIterator<T> {
diff --git a/src/main/java/org/apache/sling/query/iterator/tree/DfsTreeIterator.java b/src/main/java/org/apache/sling/query/iterator/tree/DfsTreeIterator.java
index 27ae29c..e854caa 100644
--- a/src/main/java/org/apache/sling/query/iterator/tree/DfsTreeIterator.java
+++ b/src/main/java/org/apache/sling/query/iterator/tree/DfsTreeIterator.java
@@ -23,7 +23,7 @@
 import java.util.Iterator;
 import java.util.LinkedList;
 
-import org.apache.sling.query.api.TreeProvider;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.iterator.AbstractIterator;
 
 public class DfsTreeIterator<T> extends AbstractIterator<T> {
diff --git a/src/main/java/org/apache/sling/query/predicate/IterableContainsPredicate.java b/src/main/java/org/apache/sling/query/predicate/IterableContainsPredicate.java
index acecc25..297c288 100644
--- a/src/main/java/org/apache/sling/query/predicate/IterableContainsPredicate.java
+++ b/src/main/java/org/apache/sling/query/predicate/IterableContainsPredicate.java
@@ -20,7 +20,7 @@
 package org.apache.sling.query.predicate;
 
 import org.apache.sling.query.api.Predicate;
-import org.apache.sling.query.api.TreeProvider;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.util.LazyList;
 
 public class IterableContainsPredicate<T> implements Predicate<T> {
diff --git a/src/main/java/org/apache/sling/query/predicate/ParentPredicate.java b/src/main/java/org/apache/sling/query/predicate/ParentPredicate.java
index c734a78..412be5f 100644
--- a/src/main/java/org/apache/sling/query/predicate/ParentPredicate.java
+++ b/src/main/java/org/apache/sling/query/predicate/ParentPredicate.java
@@ -20,7 +20,7 @@
 package org.apache.sling.query.predicate;
 
 import org.apache.sling.query.api.Predicate;
-import org.apache.sling.query.api.TreeProvider;
+import org.apache.sling.query.api.internal.TreeProvider;
 
 public class ParentPredicate<T> implements Predicate<T> {
 
diff --git a/src/main/java/org/apache/sling/query/resource/ResourceTreeProvider.java b/src/main/java/org/apache/sling/query/resource/ResourceTreeProvider.java
index e1bb0a6..25d63eb 100644
--- a/src/main/java/org/apache/sling/query/resource/ResourceTreeProvider.java
+++ b/src/main/java/org/apache/sling/query/resource/ResourceTreeProvider.java
@@ -25,7 +25,7 @@
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.query.api.Predicate;
-import org.apache.sling.query.api.TreeProvider;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.resource.jcr.JcrQueryIterator;
 import org.apache.sling.query.resource.jcr.JcrTypeResolver;
 import org.apache.sling.query.resource.jcr.SessionJcrTypeResolver;
diff --git a/src/main/java/org/apache/sling/query/selector/FunctionType.java b/src/main/java/org/apache/sling/query/selector/FunctionType.java
index c4b37dd..5c1c1fb 100644
--- a/src/main/java/org/apache/sling/query/selector/FunctionType.java
+++ b/src/main/java/org/apache/sling/query/selector/FunctionType.java
@@ -19,9 +19,9 @@
 
 package org.apache.sling.query.selector;
 
+import org.apache.sling.query.api.Function;
 import org.apache.sling.query.api.SearchStrategy;
-import org.apache.sling.query.api.TreeProvider;
-import org.apache.sling.query.api.internal.Function;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.function.EvenFunction;
 import org.apache.sling.query.function.FilterFunction;
 import org.apache.sling.query.function.HasFunction;
diff --git a/src/main/java/org/apache/sling/query/selector/HierarchyOperator.java b/src/main/java/org/apache/sling/query/selector/HierarchyOperator.java
index df6edd7..8146349 100644
--- a/src/main/java/org/apache/sling/query/selector/HierarchyOperator.java
+++ b/src/main/java/org/apache/sling/query/selector/HierarchyOperator.java
@@ -19,9 +19,9 @@
 
 package org.apache.sling.query.selector;
 
+import org.apache.sling.query.api.Function;
 import org.apache.sling.query.api.SearchStrategy;
-import org.apache.sling.query.api.TreeProvider;
-import org.apache.sling.query.api.internal.Function;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.function.ChildrenFunction;
 import org.apache.sling.query.function.FindFunction;
 import org.apache.sling.query.function.IdentityFunction;
diff --git a/src/main/java/org/apache/sling/query/selector/SelectorFunction.java b/src/main/java/org/apache/sling/query/selector/SelectorFunction.java
index ecd2ea0..3147bd9 100644
--- a/src/main/java/org/apache/sling/query/selector/SelectorFunction.java
+++ b/src/main/java/org/apache/sling/query/selector/SelectorFunction.java
@@ -23,12 +23,12 @@
 import java.util.Iterator;
 import java.util.List;
 
+import org.apache.sling.query.api.Function;
 import org.apache.sling.query.api.Predicate;
 import org.apache.sling.query.api.SearchStrategy;
-import org.apache.sling.query.api.TreeProvider;
-import org.apache.sling.query.api.internal.Function;
 import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
 import org.apache.sling.query.api.internal.Option;
+import org.apache.sling.query.api.internal.TreeProvider;
 import org.apache.sling.query.function.CompositeFunction;
 import org.apache.sling.query.function.FilterFunction;
 import org.apache.sling.query.iterator.AlternativeIterator;
