added better error reporting and handling of multiple descriptions to forall