Refactored that ish to make it more OOP