Design updates
Refactoring
Refactoring and changes in design