That's a bit strange, why call it candidates and then require the list to be of length 1