generic simulation template