Another BIG commit, yet without description.
I've made this commit before messing up with my code very deeply, so if
it goes wrong I could just revert back (should've created another
branch, though)