Fix the mutation process
use recursive top to bottom copying
add a Main
Merge pull request #2 from jcao219/jimmy

Fix the mutation process