finished classes and basic switch for messages