HomeWork csc 667