lists refactor
adapter selection