refactored, and renamed/cleaned up events