         public var allowsBackspace: Bool
         public var showsPlaceholder: Bool
         public var allowsAllCharacters: Bool
+        public var completedBorderColor: UIColor
         
         public init(pin: String?,
                     allowsBackspace: Bool = true,
                     showsPlaceholder: Bool = true,
-                    allowsAllCharacters: Bool = true) {
+                    allowsAllCharacters: Bool = true,
+                    completedBorderColor: UIColor = .green) {
             self.pin = pin
             self.allowsBackspace = allowsBackspace
             self.showsPlaceholder = showsPlaceholder
             self.allowsAllCharacters = allowsAllCharacters
+            self.completedBorderColor = completedBorderColor
         }
     }
     

    @objc @IBInspectable fileprivate var allowsBackspace: Bool = false
    @objc @IBInspectable fileprivate var showsPlaceholder: Bool = true
    @objc @IBInspectable fileprivate var allowsAllCharacters: Bool = false
    
    override public init(frame: CGRect) {
        super.init(frame: frame)

        let showsPlaceholder = state?.showsPlaceholder == true
        
        for (i, button) in buttons.enumerated() {

            if let newCharacter = textField.text?[i],
                newCharacter != "" {
                button.setTitle(newCharacter, for: .normal)
                button.setTitleColor(.black, for: .normal)
                button.layer.borderColor = (state?.completedBorderColor ?? .lightGray).cgColor
            }
            else {
                button.setTitle(showsPlaceholder ? state?.pin?.uppercased()[i] : nil, for: .normal)
