just definitions of funcs