1.2. Designing the solution