Add Integration Test & Unit Test.
Fix Makefile subdirectory include problem.
Add todo file.
Adjust the Public–private partnership in every file.