     case padding(UIEdgeInsets)
     case position(GSMessagePosition)
     case textAlignment(GSMessageTextAlignment)
-    case textColor(UIColor)
     case textNumberOfLines(Int)
 }
 
 extension UIViewController {
-
-    open func showMessage(_ text: String, type: GSMessageType, options: [GSMessageOption]? = nil) {
-        GSMessage.showMessageAddedTo(text, type: type, options: options, inView: view, inViewController: self)
+    
+    open func showMessage(_ text: String,
+                          type: GSMessageType,
+                          options: [GSMessageOption]? = nil) {
+        
+        GSMessage.showMessageAddedTo(text: text, type: type, options: options, inView: view, inViewController: self)
+    }
+
+    open func showMessage(_ attributedText: NSAttributedString,
+                          type: GSMessageType,
+                          options: [GSMessageOption]? = nil) {
+        
+        GSMessage.showMessageAddedTo(attributedText: attributedText, type: type, options: options, inView: view, inViewController: self)
     }
 
     open func hideMessage(animated: Bool = true) {

        }

        if animation == .fade {
            UIView.animate(withDuration: self.animationDuration,
                animations: { [weak self] in if let this = self { this.messageView.alpha = 0 } },
                completion: { [weak self] finished in self?.removeFromSuperview() }
            )
        }

        else if animation == .slide && position == .top {
            UIView.animate(withDuration: self.animationDuration,
                animations: { [weak self] in if let this = self { this.messageView.transform = CGAffineTransform(translationX: 0, y: -this.messageHeight + -this.margin.top) } },
                completion: { [weak self] finished in self?.removeFromSuperview() }
            )
        }

        else if animation == .slide && position == .bottom {
            UIView.animate(withDuration: self.animationDuration,
                animations: { [weak self] in if let this = self { this.messageView.transform = CGAffineTransform(translationX: 0, y: this.messageHeight + this.margin.bottom) } },
                completion: { [weak self] finished in self?.removeFromSuperview() }
            )
        }


        return messageWidth - padding.horizontal
    }

    public init(attributedText: NSAttributedString,
                type: GSMessageType,
                options: [GSMessageOption]?,
                inView: UIView, 
                inViewController: UIViewController?) {

        for option in options ?? [] {
            switch (option) {
