     // TODO: time based translations?
     // TODO: reference other MDLTransforms & Compose (via declaration in XML)
     
-    public func parse(container: Container, elem: XMLElement, options: [String : Any]) -> NodeType {
+    public func parse(container: Container, elem: XMLElement, options: [String : Any] = [:]) -> NodeType {
         var transform = MDLTransform()
         
         // N.B. scale first, then rotate, finally translate

                        object.addChild(obj)
                    }
                    
                    // set parent??
                case .Camera:
                    if let ref = objRef {
                        let cam = container.resolve(MDLCamera.self, name: ref)!

            vertexDesc = MDLVertexDescriptor(vertexDescriptor: parentDesc)
        }
        
        let attributeSelector = "vertex-attributes > vertex-attribute"
        for (idx, el) in elem.css(attributeSelector).enumerate() {
            if let ref = el.attributes["ref"] {
                let vertexAttr = container.resolve(MDLVertexAttribute.self, name: ref)!
