diff --git a/src/builder/invoke.rs b/src/builder/invoke.rs
index 6fe8bdb..1dd6598 100644
--- a/src/builder/invoke.rs
+++ b/src/builder/invoke.rs
@@ -1,11 +1,13 @@
//! invoke helper
+/// Helper trait to allow chaining
pub trait Invoke {
type Result;
fn invoke(self, arg: A) -> Self::Result;
}
+/// Identity chain element
pub struct Identity;
impl Invoke for Identity {
diff --git a/src/builder/mod.rs b/src/builder/mod.rs
index d590a75..10b6887 100644
--- a/src/builder/mod.rs
+++ b/src/builder/mod.rs
@@ -11,8 +11,10 @@ mod export;
mod global;
mod data;
+pub use self::invoke::Identity;
pub use self::module::{module, from_module, ModuleBuilder};
-pub use self::code::{signatures, signature, function};
-pub use self::import::import;
-pub use self::export::export;
-pub use self::global::global;
\ No newline at end of file
+pub use self::code::{signatures, signature, function, SignatureBuilder, FunctionBuilder};
+pub use self::memory::MemoryBuilder;
+pub use self::import::{import, ImportBuilder};
+pub use self::export::{export, ExportBuilder};
+pub use self::global::{global, GlobalBuilder};