A New Approach To Network Function Virtualization