added TypeNum and Program