     fileprivate var imageWidth: CGFloat { return scrollView.frame.height * 0.6 }
     fileprivate var halfImageWidth: CGFloat { return imageWidth * 0.5 }
     fileprivate var stretchedImageWidth: CGFloat { return (CGFloat(icons.count) * imageWidth) + (CGFloat(icons.count) * imageSpacing) }
+    fileprivate var contractedImageWidth: CGFloat { return imageWidth + 0.20*CGFloat(icons.count - 1)*imageWidth }
+    fileprivate var realContractedCenterOffset: CGFloat { return contractedImageWidth/2.0 - (imageWidth + 0.20*9.0*imageWidth)/2.0 }
+    fileprivate var needsToAdjust: Bool { return icons.count > 10 ? true : false }
     
     /**
      Initializer

            layoutConstraints.append(NSLayoutConstraint(item: middleRightView, attribute: NSLayoutAttribute.centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1, constant: avatarYoffset))
            layoutConstraints.append(NSLayoutConstraint(item: middleRightView, attribute: .width, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 0.6, constant: 0))
            layoutConstraints.append(NSLayoutConstraint(item: middleRightView, attribute: .height, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 0.6, constant: 0))
            self.rightMiddleItemSpacingConstraint = NSLayoutConstraint(item: middleRightView, attribute: NSLayoutAttribute.centerX, relatedBy: .equal, toItem: contentView, attribute: .centerX, multiplier: 1, constant: imageWidth / 10)
            
            layoutConstraints.append(NSLayoutConstraint(item: middleLeftView, attribute: NSLayoutAttribute.centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1, constant: avatarYoffset))
            layoutConstraints.append(NSLayoutConstraint(item: middleLeftView, attribute: .width, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 0.6, constant: 0))
            layoutConstraints.append(NSLayoutConstraint(item: middleLeftView, attribute: .height, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 0.6, constant: 0))
            self.leftMiddleItemSpacingConstraint = NSLayoutConstraint(item: middleLeftView, attribute: NSLayoutAttribute.centerX, relatedBy: .equal, toItem: contentView, attribute: .centerX, multiplier: 1, constant: -(imageWidth / 10))
            
            layoutConstraints.append(self.rightMiddleItemSpacingConstraint)
            layoutConstraints.append(self.leftMiddleItemSpacingConstraint)

            for constraint in leftItemSpacingConstraints { constraint.constant = imageWidth*0.8 }
            
            if let midRightConstraint = self.rightMiddleItemSpacingConstraint, let midLeftConstraint = self.leftMiddleItemSpacingConstraint {
                midRightConstraint.constant = needsToAdjust ? realContractedCenterOffset + (imageWidth / 10) : imageWidth / 10
                midLeftConstraint.constant = needsToAdjust ? realContractedCenterOffset - (imageWidth / 10) : -(imageWidth / 10)
            }
        }

        for (_, image) in self.icons { if image.tag > 9 { image.alpha = isExpanded ? 0.0 : 1.0 } }
    }
    
    /**
