defensive on reading target list