basic confusing_factor analysis
fix violations
better naming