bonus event refactor