assorted function decorators