Split/add and fixes

You should use `functools.wraps` so that the function you're returning has the same docstring and such as the function you're wrapping. Also, docstring for `strip_key`?