added notification and register events
changed to use FileIO