Added tests, build, and finalized more.