     }
   }
   
-  fileprivate func floatAnimation(offset: CGFloat) {
-    var offsetX = offset
-    var offsetY = offset
+  fileprivate func floatAnimation(offsetX: CGFloat, offsetY: CGFloat) {
+    var offsetX = offsetX
+    var offsetY = offsetY
     switch direction {
     case .up, .none:
       offsetY = -offset

    case .bounce(let offset):
      shouldBounce = true
      bounceAnimation(offset: offset ?? DefaultBounceOffset)
    case .float(let offset):
      floatAnimation(offset: offset ?? DefaultFloatOffset)
    case .pulse(let offset):
      pulseAnimation(offset: offset ?? DefaultPulseOffset)
    case .none:

  /// The poptip bounces following its direction. The bounce offset can be provided optionally
  case bounce(CGFloat?)
  /// The poptip floats in place. The float offset can be provided optionally. Defaults to 8 points
  case float(offsetX: CGFloat?, offsetY: CGFloat?)
  /// The poptip pulsates by changing its size. The maximum amount of pulse increase can be provided optionally. Defaults to 1.1 (110% of the original size)
  case pulse(CGFloat?)
  /// No animation
