Note: I'm trying a couple things in my branch, will come back when I got something half decent hehe