adding usefull functions