Initial design
Merged