basic functionalities added