add programming3 codes