added some funtionalities