refactored penalty calc hof