Modified delegate to allow for more customisation