llvm template almost starting to work