         label.string = content
         label.alignmentMode = kCAAlignmentCenter
         label.foregroundColor = titleColor.CGColor
-        label.contentsScale = UIScreen.mainScreen().scale
-        label.shouldRasterize = true
-        label.rasterizationScale = UIScreen.mainScreen().scale
-        label.contentsScale = UIScreen.mainScreen().scale
+        
+        adjustScale(label)
         
         return label
     }

        circleLayer.frame = CGRectIntegral(CGRectInset(CGRectMake(CGRectGetMidX(frame) - height/2, 0, height, height), circleBorderOffset, circleBorderOffset))
        circleLayer.cornerRadius = ceil(circleLayer.frame.height/2)
        circleLayer.backgroundColor = fillColor.CGColor
        circleLayer.shouldRasterize = true
        circleLayer.rasterizationScale = UIScreen.mainScreen().scale
        circleLayer.contentsScale = UIScreen.mainScreen().scale
        
        return circleLayer
    }

        borderLayer.fillColor = UIColor.clearColor().CGColor
        borderLayer.strokeColor = strokeColor.CGColor
        borderLayer.strokeEnd = 1.0
        let cornerRadius = ceil(bounds.height/2)
        borderLayer.path = UIBezierPath(roundedRect: CGRectInset(CGRectInset(bounds, -circleBorderOffset, -circleBorderOffset), lineWidth/2, lineWidth/2), cornerRadius: cornerRadius).CGPath
        
        adjustScale(borderLayer)
        
        return borderLayer
    }
    
    private func createTick(containerFrame: CGRect, strokeColor: UIColor) -> CAShapeLayer {
        let tickPath = UIBezierPath()
        tickPath.moveToPoint(CGPointMake(0, 0))
        tickPath.addLineToPoint(CGPointMake(0, lineWidth * 3))
        tickPath.addLineToPoint(CGPointMake(lineWidth * 5, lineWidth * 3))
        tickPath.addLineToPoint(CGPointMake(lineWidth * 5, lineWidth * 2))
        tickPath.addLineToPoint(CGPointMake(lineWidth, lineWidth * 2))
        tickPath.addLineToPoint(CGPointMake(lineWidth, 0))
        tickPath.closePath()
        tickPath.applyTransform(CGAffineTransformMakeRotation(CGFloat(-M_PI_4)))
        
        let tickBorderLayer: CAShapeLayer = CAShapeLayer()
        tickBorderLayer.frame = CGRectMake(CGRectGetMidX(containerFrame) - (5*lineWidth)/2.0, CGRectGetMidY(containerFrame), containerFrame.width, containerFrame.height)
        tickBorderLayer.lineWidth = 1
        tickBorderLayer.fillColor = strokeColor.CGColor
        tickBorderLayer.path = tickPath.CGPath
        
        adjustScale(tickBorderLayer)
        
        return tickBorderLayer
    }
    
    private func adjustScale(layer: CALayer) {
        layer.shouldRasterize = true
        layer.rasterizationScale = UIScreen.mainScreen().scale
        layer.contentsScale = UIScreen.mainScreen().scale
    }
    
    // MARK: animations
