protection and events added