fail early to reduce indentations