add kinetic monte carlo class