basic classes and basic properties