add net funcs