adding more functionalities