seperate simulator from worker