complete nn (use cuda-based for modify)