rework for simulation