first commit
extract method
move method
replace temp with query
again, replace temp with query
replace loop with collection closure method
again and again, replace temp with query
from conditional branching to polymorphism