Updated Program2