refactored classes for noise models and voting rules