add NIO Sample