Refactoringggggggg