about to refactor to handle n item lists