class restructuring
carmichael example