diff --git a/crates/lune-std/src/globals/require/mod.rs b/crates/lune-std/src/globals/require/mod.rs
index 9629da7..7b9415b 100644
--- a/crates/lune-std/src/globals/require/mod.rs
+++ b/crates/lune-std/src/globals/require/mod.rs
@@ -1,5 +1,5 @@
 use crate::{
-    luaurc::{path_to_alias, Luaurc},
+    luaurc::{Luaurc, RequireAlias},
     path::get_parent_path,
     LuneStandardLibrary,
 };
@@ -40,7 +40,7 @@ pub enum RequireError {
 
 async fn lua_require(lua: &Lua, path: String) -> LuaResult<LuaMultiValue> {
     let require_path_rel = PathBuf::from(path);
-    let require_alias = path_to_alias(&require_path_rel).into_lua_err()?;
+    let require_alias = RequireAlias::from_path(&require_path_rel).into_lua_err()?;
 
     if let Some(require_alias) = require_alias {
         if context::RequireContext::std_exists(lua, &require_alias.alias).into_lua_err()? {
diff --git a/crates/lune-std/src/luaurc.rs b/crates/lune-std/src/luaurc.rs
index 30e8866..246e132 100644
--- a/crates/lune-std/src/luaurc.rs
+++ b/crates/lune-std/src/luaurc.rs
@@ -36,29 +36,31 @@ pub enum LuaurcError {
     LuaError(#[from] mlua::Error),
 }
 
-/// Parses path into `RequireAlias` struct
-///
-/// ### Examples
-///
-/// `@lune/task` becomes `Some({ alias: "lune", path: "task" })`
-///
-/// `../path/script` becomes `None`
-pub fn path_to_alias(path: &Path) -> Result<Option<RequireAlias>, LuaurcError> {
-    if let Some(aliased_path) = path
-        .to_str()
-        .ok_or(LuaurcError::FailedStringToPathConversion)?
-        .strip_prefix('@')
-    {
-        let (alias, path) = aliased_path
-            .split_once('/')
-            .ok_or(LuaurcError::UsedAliasWithoutSlash)?;
+impl RequireAlias {
+    /// Parses path into `RequireAlias` struct
+    ///
+    /// ### Examples
+    ///
+    /// `@lune/task` becomes `Some({ alias: "lune", path: "task" })`
+    ///
+    /// `../path/script` becomes `None`
+    pub fn from_path(path: &Path) -> Result<Option<Self>, LuaurcError> {
+        if let Some(aliased_path) = path
+            .to_str()
+            .ok_or(LuaurcError::FailedStringToPathConversion)?
+            .strip_prefix('@')
+        {
+            let (alias, path) = aliased_path
+                .split_once('/')
+                .ok_or(LuaurcError::UsedAliasWithoutSlash)?;
 
-        Ok(Some(RequireAlias {
-            alias: alias.to_string(),
-            path: path.to_string(),
-        }))
-    } else {
-        Ok(None)
+            Ok(Some(RequireAlias {
+                alias: alias.to_string(),
+                path: path.to_string(),
+            }))
+        } else {
+            Ok(None)
+        }
     }
 }