Tons of refactoring, I kinda broke it