The current version of the Zurich Extragalactic Bayesian Redshift Analyzer (ZEBRA) combines and extends several of the classical approaches to produce accurate photometric redshifts down to faint magnitudes. In particular, ZEBRA uses the template-fitting approach to produce Maximum Likelihood and Bayesian redshift estimates based on: (1.) An automatic iterative technique to correct the original set of galaxy templates to best represent the SEDs of real galaxies at different redshifts; (2.) A training set of spectroscopic redshifts for a small fraction of the photometric sample; and (3.) An iterative technique for Bayesian redshift estimates, which extracts the full two-dimensional redshift and template probability function for each galaxy.