decorators maintain __name__ in returned function so that these steps can be ignored