Added some base classes. Note some implementation missing.