update functionalities