Added settings system and some base classes