type with error handling