this is my complete assignment for program 2