diff --git a/lib/roblox_emulator/src/runner/instance/instance.rs b/lib/roblox_emulator/src/runner/instance/instance.rs
index 14dbd73..7423862 100644
--- a/lib/roblox_emulator/src/runner/instance/instance.rs
+++ b/lib/roblox_emulator/src/runner/instance/instance.rs
@@ -150,6 +150,15 @@ impl mlua::UserData for Instance{
 		});
 	}
 	fn add_methods<M:mlua::UserDataMethods<Self>>(methods:&mut M){
+		fn clone(lua:&mlua::Lua,this:&Instance,_:())->mlua::Result<Instance>{
+			dom_mut(lua,|dom|{
+				let instance_ref=dom.clone_within(this.referent);
+				dom.transfer_within(instance_ref,Instance::nil().referent);
+				Ok(Instance::new_unchecked(instance_ref))
+			})
+		}
+		methods.add_method("clone",clone);
+		methods.add_method("Clone",clone);
 		fn get_children(lua:&mlua::Lua,this:&Instance,_:())->mlua::Result<Vec<Instance>>{
 			dom_mut(lua,|dom|{
 				let instance=this.get(dom)?;