type is required for each cube