A frequently encountered problem in the design of enzyme inhibitors and other biologically active molecules is the identification of molecular frameworks to serve as templates or linking units that can position functional groups in specific relative orientations. The program CAVEAT was designed to address this problem by searching 3D databases for such molecular fragments. Key innovations introduced in CAVEAT are a focus on relationships between bonds and the provision of automated methods to identify and classify structural frameworks. Performance has been a particular concern in formulating CAVEAT, since it is intended to be used in an interactive manner. The focus in this report is the design and implementation of the principal algorithms and the performance achieved.