replaced delegate with notification and replaced file copy with data copy