             override func draw(in ctx: CGContext) {
                 super.draw(in: ctx)
                 ctx.setFillColor(UIColor.black.cgColor)
-                let diameter = GooglyEye.diameter(rectSize: frame.size)
-                ctx.addEllipse(in: CGRect(origin: bounds.origin, size: CGSize(width: diameter, height: diameter)))
+                let diameter = GooglyEye.diameterFromFrame(rectSize: frame.size)
+                ctx.addEllipse(in: CGRect(origin: CGPoint(x: (bounds.width - diameter), y: (bounds.height - diameter)), size: CGSize(width: diameter, height: diameter)))
                 ctx.fillPath()
             }
         }

            ctx.clear(bounds)
            ctx.setBlendMode(.normal)
            ctx.setFillColor(GooglyEye.plasticGrayColor().cgColor)
            let path = CGPath(ellipseIn: bounds, transform: nil)
            ctx.addPath(path)
            ctx.fillPath()
            let radius = GooglyEye.cutoutRadius(dimension: bounds.width)
            ctx.drawRadialGradient(baseStampGradient!,
                                   startCenter: startCenter,
                                   startRadius: radius - (bounds.width*0.05),
                                   endCenter: startCenter,
                                   endRadius: radius + (bounds.width*0.02),
                                   options:  .drawsAfterEndLocation)
        }
    }
    
    class UpdatingLayer: CALayer {
        var endCenter: CGPoint = .zero
        var startCenter: CGPoint = .zero
        let edgeShadowGradient = CGGradient(colorsSpace: nil, colors: [UIColor.clear.cgColor, GooglyEye.plasticGrayColor().cgColor] as CFArray, locations: nil)

        let stampPercentSizeDifference: CGFloat = 0.1
        let baseStampGradient = CGGradient(colorsSpace: nil, colors: [GooglyEye.plasticGrayColor().cgColor, UIColor.clear.cgColor] as CFArray, locations: nil)
        var startCenter: CGPoint = .zero
        var diameter: CGFloat = 0
        
        override init(layer: Any) {
            super.init(layer: layer)
