Completing all functionalities