updated to use lists