update NIO