Nuclease is an enzyme which degrades the nucleic acids. A nuclease can be DNA-specific (a DNase), RNA-specific (RNase) or non-specific. It might act only on single stranded nucleic acids, or only on the double-stranded nucleic acids, or it might be non-specific with respect to strandedness. A nuclease might degrade only from an end (an exonuclease), or might be able to start in the middle of a strand (an endonuclease). To further complicate matters, number of enzymes have multiple functions; for instance, Bal31 has a 3'-exonuclease activity on the double-stranded DNA, and the endonuclease activity specific for the single-stranded DNA or RNA.