added new functionalities