Networking code changed to NIO
Everything else is 'final'