added clvol_penalty
added the rest of the penalty framework stuff