renamed the BeforeSaveListener, projection example