adding new functionalities