Project2 of CS143