         return starFrame
     }
     
-    private func randomStarSizeInSize(size: CGSize) -> CGSize {
-        let size = min(size.width, size.height)
+    private func randomStarSizeForSize(starSize: CGFloat) -> CGSize {
         let randomStarSizeProduct = CGFloat(arc4random_uniform(starSizeProductRandomizerRange.last! - starSizeProductRandomizerRange.first!) + starSizeProductRandomizerRange.first!) / 100.0;
+        let randomSize = starSize * randomStarSizeProduct
 
-        return CGSize(width: size / sizeToStarSizeRatio * randomStarSizeProduct, height: size / sizeToStarSizeRatio * randomStarSizeProduct)
+        return CGSize(width: randomSize, height: randomSize)
     }
 
     private func intensityForStarAtY(y: Float) -> Float {

    
    override func drawRect(rect: CGRect) {
        super.drawRect(rect)
        starLayer.frame = bounds
        drawStars()
    }

    // MARK: Generators
    
    private func randomStarFrameInFrame(frame: CGRect) -> CGRect {
        let size = randomStarSizeForSize(starSize)
        
        let minX = frame.origin.x
        let maxX = frame.origin.x + frame.size.width
