pull out named fns.
extract commonality.
rename method.