The application of network functions virtualisation (NFV) and software defined networking (SDN) to create agile, dynamic, zero-touch networks