Type definitions