complete programming assignment 3