Designing and Debugging