diff --git a/src/flow/binary.rs b/src/flow/binary.rs
index d3a18cb..431d283 100644
--- a/src/flow/binary.rs
+++ b/src/flow/binary.rs
@@ -1,4 +1,3 @@
-mod avl;
 pub mod bounds;
 
 use crate::flow::comparator::*;
diff --git a/src/mrds/trees.rs b/src/mrds/trees.rs
index 4eb74ad..3380f2e 100644
--- a/src/mrds/trees.rs
+++ b/src/mrds/trees.rs
@@ -1 +1,2 @@
+pub mod avl;
 pub mod unbalanced;
diff --git a/src/flow/binary/avl.rs b/src/mrds/trees/avl.rs
similarity index 98%
rename from src/flow/binary/avl.rs
rename to src/mrds/trees/avl.rs
index c51b841..1afcf5f 100644
--- a/src/flow/binary/avl.rs
+++ b/src/mrds/trees/avl.rs
@@ -1,8 +1,7 @@
 use std::{fmt::Display, marker::PhantomData, rc::Rc};
 
-use crate::flow::comparator::*;
-
-use super::*;
+use crate::flow::{binary::*, comparator::*};
+use crate::func::{context::*, *};
 
 #[derive(Clone)]
 struct AvlN<A> {