addition of main functionalities