fixed if types a/d/e