add fn.shadow