diff --git a/core/http/src/handling/methods.rs b/core/http/src/handling/methods.rs
index 998cfa563ad93ae2cf529c342e21b31557324722..5ca6211081ea5dd26aa3bf0fbb6f74166af50b25 100644
--- a/core/http/src/handling/methods.rs
+++ b/core/http/src/handling/methods.rs
@@ -1,6 +1,6 @@
 use std::{fmt::Display, str::FromStr};
 
-#[derive(PartialEq, Eq, Clone, Debug, Copy)]
+#[derive(PartialEq, Eq, Clone, Debug, Copy, PartialOrd, Ord)]
 pub enum Method {
     Get,
     Head,
diff --git a/core/http/src/handling/request.rs b/core/http/src/handling/request.rs
index ba1cf3772ef46ea92fedb765a2934fee6fc19b2e..adfb6b82dbc82fc647d2cdcfcd5f44502ee2a290 100644
--- a/core/http/src/handling/request.rs
+++ b/core/http/src/handling/request.rs
@@ -1,4 +1,4 @@
-use std::net::SocketAddr;
+// use std::net::SocketAddr;
 
 use super::{methods::Method, routes::Uri};
 
@@ -11,12 +11,12 @@ pub struct Request<'a> {
     // pub connection: ConnectionMeta,
 }
 
-struct ConnectionMeta {
-    remote: Option<SocketAddr>,
-    // certificates
-}
+// struct ConnectionMeta {
+//     remote: Option<SocketAddr>,
+//     // certificates
+// }
 
-#[derive(Clone, Debug, Copy)]
+#[derive(Clone, Debug, Copy, PartialEq, Eq, PartialOrd, Ord)]
 pub enum MediaType {
     Json,
     Plain,
diff --git a/core/http/src/setup.rs b/core/http/src/setup.rs
index dfdb496121f28aed4b1d9de57fa0c1c756a1ba28..a50e7d1caf4a052c6f5648ca445e0ff6cb8368f3 100644
--- a/core/http/src/setup.rs
+++ b/core/http/src/setup.rs
@@ -1,8 +1,6 @@
-use std::{
-    thread::available_parallelism, process::exit,
-};
+use std::thread::available_parallelism;
 
-use tokio::{net::TcpListener, signal::unix::{SignalKind, signal}, runtime, select};
+use tokio::{net::TcpListener, signal::unix::{SignalKind, signal}, select};
 
 use crate::{
     handlers::handlers::handle_connection,
@@ -21,7 +19,8 @@ pub struct Config {
 }
 
 impl<'a> Config {
-    pub fn mount(mut self, mountpoint: Uri<'static>, routes: Vec<Route<'static>>) -> Config {
+    pub fn mount(mut self, mountpoint: Uri<'static>, mut routes: Vec<Route<'static>>) -> Config {
+        routes.sort_by(|a, b| a.rank.cmp(&b.rank));
         let mut mount_message = format!("  >> \x1b[35m{}\x1b[0m\n", mountpoint);
         for (index, route) in routes.iter().enumerate() {
             let indent_sign;
diff --git a/site/src/main.rs b/site/src/main.rs
index fc87c26d2bea8668454effc7e5640ea17c653f98..e58195ab7eea5eaa9a5ed37016e07f18f73d9550 100644
--- a/site/src/main.rs
+++ b/site/src/main.rs
@@ -8,6 +8,15 @@ use http::handling::{
     routes::{Data, Route},
 };
 
+fn handle_static_hi(request: Request<'_>, data: Data) -> Outcome<Response, Status, Data> {
+    // Outcome::Success(Response { headers: vec![
+    //     format!("Content-Length: 4"), 
+    //     format!("Content-Type: text/plain")
+    // ], status: Some(Status::Ok), body: Box::new("jkl;") })
+    Outcome::Forward(data)
+}
+
+
 fn handler(request: Request<'_>, _data: Data) -> Outcome<Response, Status, Data> {
     let response = fileserver(request.uri.strip_prefix("static/").unwrap());
     let response = match response {
@@ -60,7 +69,7 @@ async fn main() {
         name: Some("file_server"),
         uri: "static/<path..>",
         method: Method::Get,
-        rank: 0,
+        rank: 1,
     };
 
     let post_test = Route {
@@ -72,7 +81,16 @@ async fn main() {
         rank: 0,
     };
 
+    let static_hi = Route {
+        format: None, 
+        handler: handle_static_hi,
+        name: Some("Handle_Static_hi"),
+        uri: "static/hi",
+        method: Method::Get,
+        rank: 0
+    };
+
     http::build("127.0.0.1:8000").await
-        .mount("/", vec![fileserver, post_test])
+        .mount("/", vec![fileserver, post_test, static_hi])
         .launch().await;
 }
diff --git a/site/static/hi b/site/static/hi
new file mode 100644
index 0000000000000000000000000000000000000000..8bd6648ed130ac9ece0f89cd9a8fbbfd2608427a
--- /dev/null
+++ b/site/static/hi
@@ -0,0 +1 @@
+asdf