add basic functionalities.