Functional promoters are composed of individual modules (e.g. transcription factor binding sites, secondary structure elements, repeats) arranged in distinct patterns. Recognition of such patterns is essential for identification of promoters in non-coding sequences. However, this is difficult due to the absence of overall sequence similarity in promoters even if they are regulated in a similar way. We implemented simple formal representations of general features of regulatory regions into an algorithm capable of developing complex models reflecting both the element composition and the functional organization of individual elements (ModelGenerator). Though ModelGenerator requires a very simple initial model (e.g. two modules and their relative order) it will generate a much more sophisticated model by analysis of the training set of at least ten sequences. We show ModelGenerator to successfully model different retroviral long terminal repeat (LTR) classes (Lentivirus as well as avian and mammalian C-type) which contain functional promoters. Database searches with the program ModelInspector demonstrated the high specificity of these models and no apparent false negatives were detected. We also verified one match from GenBank to the mammalian C-type LTR model experimentally and showed this sequence to contain an active promoter. Thus, the concept of modular organization of functional regulatory DNA regions (e.g. promoters) could be successfully implemented into a set of computer tools which might be flexible and specific enough to be suitable for prospective analysis of new genomic DNA sequences.