some changes to llvm inheritance