Refactor because its fun