rework so events aren't compounding