       case .Circle:
         maskCircle()
       case .Star:
-        maskStar()
+        maskStarFromString(unwrappedMaskType)
       case .Polygon:
         maskPolygon()
       case .Triangle:
         maskTriangle()
       case .Wave:
-        maskWave()
+        maskWaveFromString(unwrappedMaskType);
       }
-      return
-    }
-    
-    // Mask Star with parameter
-    // Mask Wave with parameter
+    }
   }
   
   // MARK: - Mask

    }
    
    path.closePath()
    
    
    return path
  }
  
  // MARK: Triangle
  
  private func maskTriangleBezierPath() -> UIBezierPath {
    let path = UIBezierPath()
    path.moveToPoint(CGPoint(x: bounds.width / 2.0, y: bounds.origin.y))

    return path
  }
  
  // MARK: - Star
  
  private func maskStarFromString(mask: String) {
    let sides = Int(cleanMaskString(mask, maskName: "Star"))
    if let unwrappedSides = sides {
      maskStar(unwrappedSides)
    } else {
      maskStar()
    }
  }
  
  private func starPath(points: Int, borderWidth: CGFloat = 0) -> UIBezierPath {
    let path = UIBezierPath()
