Refactor and Redesign