This is the project that review Chapter 2 for cs369