Refactoring the majority of things.
Gonna make some bugs ah yea