refactoring continues: defining a class for each effect