 class LectureCollectionViewCell: CollectionViewCell, Cell {
 
     enum Const {
-        static let color = UIColor.white
-        static let highlightedColor = UIColor.white
-
-        static let textColor = UIColor.black
+        static let margin: CGFloat = 4
 
         static let highlightedScale: CGFloat = 0.97
 
-        static let shadowRadius: CGFloat = 3
+        static let shadowRadius: CGFloat = 2
         static let highlightedShadowRadius: CGFloat = 1
 
-        static let shadowOpacity: Float = 0.12
-        static let highlightedShadowOpacity: Float = 0.3
+        static let shadowOpacity: Float = 0.16
+        static let highlightedShadowOpacity: Float = 0.2
     }
 
 	var isHighlightable: Bool = true
 	
 	// MARK: - UI
 
+    let colorView: UIView = {
+        let view = UIView()
+        return view
+    }()
+    
     let titleLabel: UILabel = {
         let label = UILabel()
-        label.font = .systemFont(ofSize: 15, weight: .medium)
+        label.font = .systemFont(ofSize: 14, weight: .medium)
         label.textColor = UIColor.htw.textHeadline
-		label.textAlignment = .center
+		label.textAlignment = .left
 		label.numberOfLines = 1
 		label.lineBreakMode = .byCharWrapping
-        label.translatesAutoresizingMaskIntoConstraints = false
         return label
     }()
 
 	let roomLabel: UILabel = {
 		let label = UILabel()
 		label.font = .systemFont(ofSize: 10, weight: .medium)
-		label.textColor = UIColor.htw.textHeadline
-		label.textAlignment = .center
+		label.textColor = UIColor.htw.mediumGrey
+		label.textAlignment = .left
         label.numberOfLines = 1
         label.lineBreakMode = .byCharWrapping
-		label.translatesAutoresizingMaskIntoConstraints = false
 		return label
 	}()
+    
+    let typeLabel: UILabel = {
+        let label = UILabel()
+        label.font = .systemFont(ofSize: 10, weight: .medium)
+        label.textColor = UIColor.htw.mediumGrey
+        label.textAlignment = .left
+        label.numberOfLines = 1
+        label.lineBreakMode = .byCharWrapping
+        return label
+    }()
+
 
 	// MARK: - Init
 
     override func initialSetup() {
-		self.contentView.backgroundColor = .white
-        self.contentView.layer.cornerRadius = 3
+        self.contentView.layer.cornerRadius = 4
         self.contentView.clipsToBounds = true
 
         self.layer.shadowColor = UIColor.black.cgColor
         self.layer.shadowOffset = .zero
         self.layer.shadowRadius = Const.shadowRadius
         self.layer.shadowOpacity = Const.shadowOpacity
-        
-        self.contentView.layer.borderWidth = 2
 
-		self.contentView.addSubview(self.titleLabel)
-		self.contentView.addSubview(self.roomLabel)
-
-		let margin: CGFloat = 4
-        let topSpace = UILayoutGuide()
-        let bottomSpace = UILayoutGuide()
-        self.contentView.addLayoutGuide(topSpace)
-        self.contentView.addLayoutGuide(bottomSpace)
+        [self.colorView, self.titleLabel, self.roomLabel, self.typeLabel].forEach {
+            $0.translatesAutoresizingMaskIntoConstraints = false
+            self.contentView.addSubview($0)
+        }
         
 		NSLayoutConstraint.activate([
-            topSpace.topAnchor.constraint(equalTo: self.contentView.topAnchor),
-            topSpace.heightAnchor.constraint(equalTo: bottomSpace.heightAnchor),
+            self.colorView.leadingAnchor.constraint(equalTo: self.contentView.leadingAnchor),
+            self.colorView.topAnchor.constraint(equalTo: self.contentView.topAnchor),
+            self.colorView.bottomAnchor.constraint(equalTo: self.contentView.bottomAnchor),
+            self.colorView.widthAnchor.constraint(equalToConstant: 3),
             
-			self.titleLabel.leadingAnchor.constraint(equalTo: self.contentView.leadingAnchor, constant: margin),
-			self.titleLabel.topAnchor.constraint(equalTo: topSpace.bottomAnchor),
-			self.titleLabel.trailingAnchor.constraint(equalTo: self.contentView.trailingAnchor, constant: -margin),
+			self.titleLabel.leadingAnchor.constraint(equalTo: self.colorView.trailingAnchor,
+                                                     constant: Const.margin),
+            self.titleLabel.topAnchor.constraint(equalTo: self.contentView.topAnchor, constant: Const.margin),
+			self.titleLabel.trailingAnchor.constraint(equalTo: self.contentView.trailingAnchor,
+                                                      constant: -Const.margin),
 
-			self.roomLabel.leadingAnchor.constraint(equalTo: self.contentView.leadingAnchor, constant: margin),
+			self.roomLabel.leadingAnchor.constraint(equalTo: self.colorView.trailingAnchor,
+                                                    constant: Const.margin),
 			self.roomLabel.topAnchor.constraint(equalTo: self.titleLabel.bottomAnchor),
-			self.roomLabel.trailingAnchor.constraint(equalTo: self.contentView.trailingAnchor, constant: -margin),
-            self.roomLabel.bottomAnchor.constraint(equalTo: bottomSpace.topAnchor),
+			self.roomLabel.trailingAnchor.constraint(equalTo: self.contentView.trailingAnchor,
+                                                     constant: -Const.margin),
             
-            bottomSpace.bottomAnchor.constraint(equalTo: self.contentView.bottomAnchor)
+            self.typeLabel.leadingAnchor.constraint(equalTo: self.colorView.trailingAnchor,
+                                                    constant: Const.margin),
+            self.typeLabel.topAnchor.constraint(equalTo: self.roomLabel.bottomAnchor),
+            self.typeLabel.trailingAnchor.constraint(equalTo: self.contentView.trailingAnchor,
+                                                     constant: -Const.margin),
+            self.typeLabel.bottomAnchor.constraint(lessThanOrEqualTo: self.contentView.bottomAnchor,
+                                                   constant: -Const.margin)
 		])
     }
 
     func update(viewModel: LectureViewModel) {
+        self.contentView.backgroundColor = UIColor(hex: viewModel.color).tendingTowards(.white, percentage: 0.9)
+        self.colorView.backgroundColor = UIColor(hex: viewModel.color)
         self.titleLabel.text = viewModel.shortTitle
         self.roomLabel.text = viewModel.room
-        self.contentView.layer.borderColor = UIColor(hex: viewModel.color).cgColor
+        self.typeLabel.text = viewModel.type
     }
 
     override func layoutSubviews() {
         super.layoutSubviews()
-        self.layer.shadowPath = UIBezierPath(roundedRect: self.bounds, cornerRadius: self.contentView.layer.cornerRadius).cgPath
+        self.layer.shadowPath = UIBezierPath(roundedRect: self.bounds,
+                                             cornerRadius: self.contentView.layer.cornerRadius).cgPath
     }
 
 }

    func unhighlight(animated: Bool) {
		guard isHighlightable else { return }
        let animations: () -> Void = {
            self.contentView.backgroundColor = Const.color
            self.transform = CGAffineTransform.identity
            self.layer.shadowRadius = Const.shadowRadius
            self.layer.shadowOpacity = Const.shadowOpacity

    func highlight(animated: Bool) {
		guard isHighlightable else { return }
        let animations: () -> Void = {
            self.transform = CGAffineTransform.identity.scaledBy(x: Const.highlightedScale, y: Const.highlightedScale)
            self.layer.shadowRadius = Const.highlightedShadowRadius
            self.layer.shadowOpacity = Const.highlightedShadowOpacity
