diff --git a/rsProgramVertex.cpp b/rsProgramVertex.cpp
index 30000b0..549dcae 100644
--- a/rsProgramVertex.cpp
+++ b/rsProgramVertex.cpp
@@ -27,7 +27,7 @@
 
                              const uint32_t * params, size_t paramLength)
     : Program(rsc, shaderText, shaderLength, params, paramLength) {
-    mRSC->mHal.funcs.vertex.init(mRSC, this, mUserShader.string(), mUserShader.length(),
+    mRSC->mHal.funcs.vertex.init(mRSC, this, mUserShader, mUserShaderLen,
                                  textureNames, textureNamesCount, textureNamesLength);
 }
 
@@ -174,19 +174,14 @@
     ObjectBaseRef<const Element> f4Elem = Element::createRef(rsc, RS_TYPE_FLOAT_32,
                                                              RS_KIND_USER, false, 4);
 
-    Element::Builder constBuilder;
-    constBuilder.add(matrixElem.get(), "MV", 1);
-    constBuilder.add(matrixElem.get(), "P", 1);
-    constBuilder.add(matrixElem.get(), "TexMatrix", 1);
-    constBuilder.add(matrixElem.get(), "MVP", 1);
-    ObjectBaseRef<const Element> constInput = constBuilder.create(rsc);
+    const char *ebn1[] = { "MV", "P", "TexMatrix", "MVP" };
+    const Element *ebe1[] = {matrixElem.get(), matrixElem.get(),
+            matrixElem.get(), matrixElem.get()};
+    ObjectBaseRef<const Element> constInput = Element::create(rsc, 4, ebe1, ebn1);
 
-    Element::Builder inputBuilder;
-    inputBuilder.add(f4Elem.get(), "position", 1);
-    inputBuilder.add(f4Elem.get(), "color", 1);
-    inputBuilder.add(f3Elem.get(), "normal", 1);
-    inputBuilder.add(f2Elem.get(), "texture0", 1);
-    ObjectBaseRef<const Element> attrElem = inputBuilder.create(rsc);
+    const char *ebn2[] = { "position", "color", "normal", "texture0" };
+    const Element *ebe2[] = {f4Elem.get(), f4Elem.get(), f3Elem.get(), f2Elem.get()};
+    ObjectBaseRef<const Element> attrElem = Element::create(rsc, 4, ebe2, ebn2);
 
     ObjectBaseRef<Type> inputType = Type::getTypeRef(rsc, constInput.get(), 1, 0, 0, false, false, 0);
 
