added some base classes