new simulaiton code