definitions and enums...