program assignment 2