         }
         
         userName.text = firebaseUser.displayName
+        
+        guard
+            
+            let pictureUrl:URL = firebaseUser.photoURL
+        
+        else
+        {
+            return
+        }
+        
+        DispatchQueue.global(qos:DispatchQoS.QoSClass.background).async
+        {
+            URLSession.shared.dataTask(
+                with:pictureUrl)
+            { (data, response, error) in
+                
+                guard
+                    
+                    let imageData:Data = data
+                    
+                else
+                {
+                    return
+                }
+                
+                let image:UIImage? = UIImage(data:imageData)
+                
+                DispatchQueue.main.async
+                { [weak self] in
+                    
+                    self?.imageView.image = image
+                }
+            }
+        }
     }
 }

            metrics:metrics,
            views:views))
        addConstraints(NSLayoutConstraint.constraints(
            withVisualFormat:"H:[imageView(imageViewHeihgt)]",
            options:[],
            metrics:metrics,
            views:views))
        addConstraints(NSLayoutConstraint.constraints(
            withVisualFormat:"V:[imageView(imageViewHeight)]-0-[userName(userNameHeight)]-(userNameBottom)-|",
            options:[],
            metrics:metrics,
            views:views))

    private weak var userName:UILabel!
    private weak var imageView:UIImageView!
    private weak var layoutImageViewLeft:NSLayoutConstraint!
    private let kUserNameBottom:CGFloat = 30
    private let kUserNameHeight:CGFloat = 40
    private let kImageViewHeight:CGFloat = 100
    
    override init(frame:CGRect)
    {
        super.init(frame:frame)
        isUserInteractionEnabled = false
        backgroundColor = UIColor.clear
        
        let userName:UILabel = UILabel()
        userName.isUserInteractionEnabled = false
