         
         self.layer.addSublayer(runwayLayer)
  
-        redCircleLayer      = drawCircle(withCenter: CGPoint(x: 90, y: 45), strokeColor: UIColor.red, radius: 15, lineWidth: 10)
-        yellowCircleLayer   = drawCircle(withCenter: CGPoint(x: 90, y: 90), strokeColor: UIColor.orange, radius: 15, lineWidth: 10)
-        greenCircleLayer    = drawCircle(withCenter: CGPoint(x: 90, y: 135), strokeColor: UIColor.green, radius: 15, lineWidth: 10)
+        redCircleLayer      = drawCircle(withCenter: CGPoint(x: 90*frameRate, y: 45*frameRate), strokeColor: UIColor.red, radius: 15*frameRate, lineWidth: 10*frameRate)
+        yellowCircleLayer   = drawCircle(withCenter: CGPoint(x: 90*frameRate, y: 90*frameRate), strokeColor: UIColor.orange, radius: 15*frameRate, lineWidth: 10*frameRate)
+        greenCircleLayer    = drawCircle(withCenter: CGPoint(x: 90*frameRate, y: 135*frameRate), strokeColor: UIColor.green, radius: 15*frameRate, lineWidth: 10*frameRate)
         
         self.layer.addSublayer(redCircleLayer)
         self.layer.addSublayer(yellowCircleLayer)
         self.layer.addSublayer(greenCircleLayer)
         
         
-         redPoint0 = drawPoint(withCenter:  CGPoint(x: 150, y: 50), strokeColor: UIColor.red, diameter: 10)
-         redPoint1 = drawPoint(withCenter:  CGPoint(x: 40, y: 90), strokeColor: UIColor.red, diameter: 10)
-        
-         yellowPoint0 = drawPoint(withCenter:  CGPoint(x: 30, y: 20), strokeColor: UIColor.orange, diameter: 10)
-         yellowPoint1 = drawPoint(withCenter:  CGPoint(x: 150, y: 140), strokeColor: UIColor.orange, diameter: 10)
-        
-         greenPoint0 = drawPoint(withCenter:  CGPoint(x: 15, y: 70), strokeColor: UIColor.green, diameter: 10)
-         greenPoint1 = drawPoint(withCenter:  CGPoint(x: 160, y: 90), strokeColor: UIColor.green, diameter: 10)
+         redPoint0 = drawPoint(withCenter:  CGPoint(x: 150*frameRate, y: 50*frameRate), strokeColor: UIColor.red, diameter: 15*frameRate)
+         redPoint1 = drawPoint(withCenter:  CGPoint(x: 40*frameRate, y: 90*frameRate), strokeColor: UIColor.red, diameter: 15*frameRate)
+        
+         yellowPoint0 = drawPoint(withCenter:  CGPoint(x: 30*frameRate, y: 20*frameRate), strokeColor: UIColor.orange, diameter: 15*frameRate)
+         yellowPoint1 = drawPoint(withCenter:  CGPoint(x: 150*frameRate, y: 140*frameRate), strokeColor: UIColor.orange, diameter: 15*frameRate)
+        
+         greenPoint0 = drawPoint(withCenter:  CGPoint(x: 15*frameRate, y: 70*frameRate), strokeColor: UIColor.green, diameter: 15)
+         greenPoint1 = drawPoint(withCenter:  CGPoint(x: 160*frameRate, y: 90*frameRate), strokeColor: UIColor.green, diameter: 15)
         
         
         self.layer.addSublayer(redPoint0)

        
        let runwayPath = UIBezierPath()
        
        runwayPath.move(to: CGPoint(x: 125, y: 40))
        runwayPath.addArc(withCenter: CGPoint(x: 90, y: 140), radius: 35, startAngle: 0, endAngle: CGFloat.pi, clockwise: true)
        runwayPath.move(to: CGPoint(x: 55, y: 140))
        runwayPath.addArc(withCenter: CGPoint(x: 90, y: 40), radius: 35, startAngle:  CGFloat.pi, endAngle:0, clockwise: true)

       
        runwayLayer.path = runwayPath.cgPath
        
        runwayLayer.lineWidth     = 10.0
        runwayLayer.fillColor     = UIColor.clear.cgColor
        runwayLayer.strokeColor   = UIColor(red: 6/255, green: 122/255, blue: 240/255, alpha: 1).cgColor
        runwayLayer.lineCap       = kCALineCapRound;


class HLTrafficLightsIndicatorView: UIView {

    fileprivate var durationRate: Double    = 0.7
    fileprivate var frameRate: CGFloat      = 1

    override func awakeFromNib() {
        super.awakeFromNib()
