Added some base classes and tests. Test suite is not finished.