We present MOMENTS, a newly developed software library lbr Monte Carlo simulation of semiconductor devices. This library uses object-oriented design principles to provide a flexible, extensible toolset that allows rapid development of a wide variety of Monte Carlo simulation applications. It allows concurrent simulation of multiple particle species (e.g. electrons and holes) with arbitrary user-defined interactions between species (e.g. generation – recombination and carrier – carrier scattering) in arbitrary geometries using either analytic or numerical bandstructure representations. The modular design allows virtually all simulation parameters to be freely varied across the simulation domain. MOMENTS also takes advantage of the parallelism inherent in the ensemble Monte Carlo approach, employing a scheme that can support a wide variety of parallel architectures with active load balancing. To demonstrate some of the library's capabilities, we also present preliminary results from a GaAs avalanche photodiode (APD) simulator based on MOMENTS.