update final program