call get_info only once to reduce overhead