DataLists Refactor + tests