Redesign

Redesign the code