 										  edge: edge,
 										  borderSpace: borderSpace,
 										  bouncingValues: bouncingValues)
-
-		hostView.removeConstraint(horizontalConstraint)
-		horizontalConstraint = makeHorizontalConstraint(hostView,
-														attribute: CariocaIndicatorView.layoutAttribute(for: edge))
-		horizontalConstraint.constant = positions.start
-		hostView.addConstraint(horizontalConstraint)
+		print(positions)
+		let mainConstraint = edge == .left ? leadingConstraint : trailingConstraint
+		let secondConstraint = edge == .left ? trailingConstraint : leadingConstraint
+		mainConstraint.priority = UILayoutPriority(100.0)
+		secondConstraint.priority = UILayoutPriority(50.0)
+		mainConstraint.constant = positions.start
+//		self.superview?.layoutIfNeeded()
+//
+//		horizontalConstraint.constant = beforeEndPosition
+//		UIView.animate(withDuration: 0.2,
+//					   delay: 0,
+//					   options: [.curveEaseIn],
+//					   animations: {
+//						self.superview?.layoutIfNeeded()
+//		}, completion: { _ in
+//			self.horizontalConstraint.constant = endPosition
+//			UIView.animate(withDuration: 0.3,
+//						   delay: 0,
+//						   options: [.curveEaseOut],
+//						   animations: {
+//							self.superview?.layoutIfNeeded()
+//			}, completion: { _ in
+//				//TODO: Apply new constraint constant
+//				//change priority
+//			})
+//		})
 	}
 
 	///Move the indicator to a specific index, by updating the top constraint value

	var color: UIColor
	///The indicator's top constraint
	var topConstraint = NSLayoutConstraint()
	///The indicator's horizontal constraint
	var horizontalConstraint = NSLayoutConstraint()
	///The icon's view
	var iconView: CariocaIconView
	///The border space.

							   toItem: nil, attribute: .notAnAttribute,
							   multiplier: 1, constant: frame.size.height),
			topConstraint,
			leadingConstraint,
			trailingConstraint
		])
	}

	///Create the horizontal constraint
	///- Parameter hostView: The menu's tableView
	///- Parameter attribute: The layoutAttribute for the constraint
	///- Returns: NSLayoutConstraint the horizontal constraint
	private func makeHorizontalConstraint(_ hostView: UIView,
										  _ attribute: NSLayoutAttribute,
										  _ priority: Float) -> NSLayoutConstraint {
		let constraint = NSLayoutConstraint(item: self,
											attribute: attribute,
											relatedBy: .equal,
											toItem: hostView,
											attribute: attribute,
											multiplier: 1,
											constant: 0.0)
		constraint.priority = UILayoutPriority(priority)
		return constraint
	}

	///Draws the shape, depending on the edge.
