Refactored all events