add NIODemo