simulator and stuff