  We present the Monte Carlo program BHAGEN95, for calculating the
cross-section of the Bhabha scattering process at LEP1/SLC and LEP2 energies,
usable with continuity from small to large-angle configurations. We discuss
some improvements in the event generator BHAGEN94, which is now part of the new
code. In particular the weak and QCD corrections are implemented up to two
loops for the relevant contributions, and the emission of one hard photon is
treated exactly. We have included all the radiative corrections which are
necessary to obtain, for a typical experimental event selection, a precision of
0.1-0.2% at small-angle. At large-angle we estimate a precision of 0.5%, with
the exception of the region where the beam energy is a few GeV above the Z
boson resonance, where it is up to 1%. A detailed comparison with other codes
for both small-angle and large-angle Bhabha scattering is performed.
