Added the main simulation driver