finish lib_net, but no UT. because don't know how to make UT