         <<<grid_dim, block_dim, 0, stream>>>
         ([=] DEVICEQUALIFIER {
 
+            namespace cg = cooperative_groups;
+
             const auto block = cg::this_thread_block();
             const auto group = cg::tiled_partition<GroupSize>(block);
 


                    //inner probing scheme (linear probing with group)
                    for (index_t lvl2 = 0;
                                 group_is_active
                                 && (lvl2 < config.lvl2_max);
                                 ++lvl2)
                    {

                        index_t lvl2_offset = lvl2 * group.size()
                                            + group.thread_rank();

                            //update+retrieve
                            if (table_elem.get_key() == data_elem.get_key())
                            {

                                if(group.thread_rank() == leader_rank())
                                {

