yes, but same idea as in get_values, we could refactor using a hash + closures.