simplified event match logic