let simulator own its state pointers
merge