functionalities update