Add a design and organize the code