Physics and programming aspects are discussed for a Fortran 77 Monte Carlo program to simulate complete events in deep inelastic lepton-nucleon scattering. The parton level interaction is based on the standard model electroweak cross sections, which are fully implemented in leading order for any lepton of arbitrary polarization, and different parametrizations of parton density functions can be used. First order QCD matrix elements for gluon radiation and boson-gluon fusion are implemented and higher order QCD radiation is treated using parton showers. Hadronization is performed using the Lund string model, implemented in JETSET/PYTHIA. Rapidity gap events are generated through a model based on soft colour interactions.