Redesign
Redesign phase 2
Code decoupling