program assignment 3