add basic functionalities