add decorators.py from blobber (with changes)