you can use functools.wraps to propogate name/docstrings