Design is an activity in which the role of experience plays a larger part in the generation of alternative designs than theoretical or formal knowledge. This has lead to increasing interest in CBR as a way of assisting and/or automating portions of the design process. However, there are major areas in the CBR paradigm that do not address the needs of practical CBR. Here CBR is presented as a framework for design, with other AI techniques supporting different aspects of CBR. Specifically, knowledge discovery is used to assist in the development of CBR knowledge and genetic algorithms in the generation of design solutions.