We present three models of how transcription factors (TFs) bind to their specific binding sites on the DNA: a model based on statistical physics, a Markov-chain model and a computational simulation. Comparison of these models suggests that the effect of non-specific binding can be significant. We also investigate possible mechanisms for cooperativity. The simulation model suggests that direct interactions between TFs are unlikely to be the main source of cooperativity between specific binding sites, because such interactions tend to lead to the formation of clusters on the DNA with undesirable side-effects.