added basic functionalities