         let animation: protocol<NVActivityIndicatorAnimationDelegate> = self.type.animation()
         
         self.layer.sublayers = nil
-        animation.setUpAnimationInLayer(self.layer, size: self.frame.size, color: self.color)
+
+        let paddedRect = UIEdgeInsetsInsetRect(self.frame, UIEdgeInsetsMake(padding, padding, padding, padding))
+        animation.setUpAnimationInLayer(self.layer, size: paddedRect.size, color: self.color)
     }
 }

}

public class NVActivityIndicatorView: UIView {
private static let DEFAULT_TYPE: NVActivityIndicatorType = .Pacman
    private static let DEFAULT_COLOR = UIColor.whiteColor()
    private static let DEFAULT_SIZE: CGSize = CGSize(width: 40, height: 40)
    
    /// Animation type, value of NVActivityIndicatorType enum.
    public var type: NVActivityIndicatorType = NVActivityIndicatorView.DEFAULT_TYPE

    @available(*, unavailable, message="This property is reserved for Interface Builder. Use 'type' instead.")
    @IBInspectable var TypeAdapter: Int {
        get {
            return self.type.rawValue
        }
        set (typeIndex) {
            self.type = NVActivityIndicatorType(rawValue: typeIndex) ?? self.type
        }
    }

    /// Color of activity indicator view.
    @IBInspectable public var color: UIColor = NVActivityIndicatorView.DEFAULT_COLOR

    /// Current status of animation, this is not used to start or stop animation.
    public var animating: Bool = false
    

     */
    case BallRotateChase
    
    private static let allTypes = (Blank.rawValue ... BallRotateChase.rawValue).map{ NVActivityIndicatorType(rawValue: $0)! }

    private func animation() -> NVActivityIndicatorAnimationDelegate {
        switch self {
        case .Blank:
