Improved test harness and added tests
Simplified build.
Completed test require implementation (requires refactor).