working version for variable impacts