Refactored almost everything 👍