Refactor, smaller methods for clarity