implemented SimulationModel and its driver