refactor bonus check