added functionalities