updated for assignment 3.