include proof of functoriality for #