basic functionalities completed