finish the second version of simulation!