added functionalities all over