convert to list to avoid iterator exahaustion
add comment