has basic functionalities