Complete all functionalities