     
     func makePipeline() {
         let lib = _device.newDefaultLibrary()!
-        let vertexFunc = lib.newFunctionWithName("vertexMain")
+        let vertexFunc   = lib.newFunctionWithName("vertexMain")
         let fragmentFunc = lib.newFunctionWithName("fragmentMain")
         
-        let renderPipelineDesc = MTLRenderPipelineDescriptor()
-        renderPipelineDesc.vertexFunction = vertexFunc
-        renderPipelineDesc.fragmentFunction = fragmentFunc
+        let renderPipelineDesc                             = MTLRenderPipelineDescriptor()
+        renderPipelineDesc.vertexFunction                  = vertexFunc
+        renderPipelineDesc.fragmentFunction                = fragmentFunc
         renderPipelineDesc.colorAttachments[0].pixelFormat = MTLPixelFormat.BGRA8Unorm
         
         do {

    }
    
    func setupMetal() {
        _device = MTLCreateSystemDefaultDevice()
        _metalLayer = CAMetalLayer()
        _metalLayer.device = _device
//        _metalLayer.frame = self.frame
        _metalLayer.pixelFormat = MTLPixelFormat.BGRA8Unorm
        _metalLayer.framebufferOnly = true
        
        self.layer.addSublayer(_metalLayer)

        _metalLayer.frame = self.frame
        if let drawable = _metalLayer.nextDrawable() {
            let renderPassDesc = MTLRenderPassDescriptor()
            renderPassDesc.colorAttachments[0].texture     = drawable.texture
            renderPassDesc.colorAttachments[0].loadAction  = MTLLoadAction.Clear
            renderPassDesc.colorAttachments[0].storeAction = MTLStoreAction.Store
            renderPassDesc.colorAttachments[0].clearColor  = MTLClearColorMake(0.5, 0.5, 0.5, 1.0)
            
            let commandQueue = _device.newCommandQueue()
            let commandBuffer = commandQueue.commandBuffer()
