outlined simulation section... I should probably polish the simulation first though