A method of mutagenesis by which a predetermined amino acid is introduced into each and every position of a selected set of positions in a preselected region (or several different regions) of a protein to produce library of mutants. The method is based on the premise that certain amino acids play crucial role in the structure and fuction of proteins. Libraries can be generated which contain a high proportion of the desired mutants and are of reasonable size for screening. This libraries can be used to study the role of specific amino acids in protein structure and function and to develop new or improved proteins and polypeptides such as enzymes, antibodies, single chain antibodies and catalytic antibodies.