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)
