This is for personal learning Credits to Wimwauters and their blogposts https://blog.wimwauters.com/networkprogrammability