     
     enum Const {
         static let margin: CGFloat = 15
+        static let imageSize: CGFloat = 25
     }
+    
+    private lazy var thumbnailImageView: UIImageView = {
+        let imageView = UIImageView()
+        imageView.contentMode = .scaleAspectFit
+        imageView.translatesAutoresizingMaskIntoConstraints = false
+        return imageView
+    }()
+    
+    private var stackView = UIStackView()
     
     private lazy var titleLabel: UILabel = {
         let label = UILabel()

        return label
    }()

    // MARK: - Init
    
    override func initialSetup() {

        
        self.accessoryType = .disclosureIndicator
        
        self.contentView.addSubview(self.thumbnailImageView)
        
        self.stackView = UIStackView(arrangedSubviews: [self.titleLabel, self.subtitleLabel])
        self.stackView.axis = .horizontal
        self.stackView.translatesAutoresizingMaskIntoConstraints = false
        self.contentView.addSubview(self.stackView)
        
        NSLayoutConstraint.activate([
            self.thumbnailImageView.centerYAnchor.constraint(equalTo: self.contentView.centerYAnchor),
            self.thumbnailImageView.leadingAnchor.constraint(equalTo: self.contentView.leadingAnchor,
                                                             constant: Const.margin),
            self.thumbnailImageView.heightAnchor.constraint(equalToConstant: Const.imageSize),
            self.imageWidthConstraint,
            
            self.imageSpaceConstraint,
            self.stackView.topAnchor.constraint(equalTo: self.contentView.topAnchor,
                                                constant: Const.margin),
            self.stackView.trailingAnchor.constraint(equalTo: self.contentView.trailingAnchor),
            self.stackView.bottomAnchor.constraint(equalTo: self.contentView.bottomAnchor,
                                                   constant: -Const.margin)
        ])
    }
    
    func update(viewModel: SettingsItemViewModel) {
        self.titleLabel.text = viewModel.title
        self.subtitleLabel.text = viewModel.subtitle
        self.thumbnailImageView.image = viewModel.thumbnail
        
        self.imageWidthConstraint.constant = viewModel.thumbnail != nil ? Const.imageSize : 0
        self.imageSpaceConstraint.constant = viewModel.thumbnail != nil ? Const.margin : 0
        
        self.contentView.layoutIfNeeded()
    }
    
}
