made the control more abstract by expecting enumerables instead of lists.