basic functionalities are all there