implementation && test cases for proj2
Merge branch 'p2' of https://github.com/rraina/280_Proj