Add generate and find_cur_type