Refactoring eeeeeeeverything