added nclr::scope_guard