Added the primary interfaces and some units tests.