prepare for switch from GSList to vector