diff --git a/src/interpreter/mod.rs b/src/interpreter/mod.rs
index 173f547..8c1a1ad 100644
--- a/src/interpreter/mod.rs
+++ b/src/interpreter/mod.rs
@@ -1,4 +1,4 @@
-#![allow(dead_code, unused_variables, missing_docs)]
+#![allow(missing_docs)]
#[derive(Debug, Clone, PartialEq)]
pub enum Error {
@@ -50,3 +50,7 @@ mod variable;
#[cfg(test)]
mod tests;
+
+pub use self::module::ModuleInstance;
+pub use self::program::ProgramInstance;
+pub use self::value::RuntimeValue;
\ No newline at end of file
diff --git a/src/interpreter/module.rs b/src/interpreter/module.rs
index 47a5c63..52241f6 100644
--- a/src/interpreter/module.rs
+++ b/src/interpreter/module.rs
@@ -104,6 +104,11 @@ impl ModuleInstance {
})
}
+ /// Execute start function of the module.
+ pub fn execute_main(&self, _args: &[RuntimeValue]) -> Result