all send and recv functions completed, still need to finish virtual network functions