Refactored into partials