functionalities completed