implements simulation framework