A C++ program for performing Monte Carlo simulation of 'classical' lattice spin Hamiltonians like the Ising model. The core code is model and lattice geometry independent. Hence it can be adapted to work with arbitrary lattice geometry and spin Hamiltonian. The code is designed to make it easy to add a new model or a lattice, a new physical observable for measurement or a new input parameter for the program.