     // MARK: - Life cycle
     
     convenience init(config: TouchVisualizerConfig) {
-        self.init(frame: CGRectMake(0.0, 0.0, 60.0, 60.0))
+        self.init(frame: CGRectZero)
         self._config = config
     }
     
     override init(frame: CGRect) {
         self._config = TouchVisualizerConfig()
         super.init(frame: frame)
+        self.frame = CGRect(origin: CGPoint(x: 0.0, y: 0.0), size: size)
     }
 
     public required init(coder aDecoder: NSCoder) {

        }
    }
    
    private var startDate: NSDate?
    private weak var timer: NSTimer?
    private var lastTimeString: String!

    // MARK: - Methods
    func beginTouch() {
        self.alpha = 1.0
        self.layer.transform = CATransform3DIdentity
        self.startDate = NSDate()
        if self._config.showsTimer {
            self.timer = NSTimer.scheduledTimerWithTimeInterval(1.0 / 60.0, target: self, selector: "update:", userInfo: nil, repeats: true)
