briefly answer these questions:
* what problem are you trying to solve? (or if there's no problem, what's the motivation for this
change?)
* what changes does this pull request make?
* are there any non-obvious implications of these changes? (does it break compatibility with previous
versions, etc)