added haptic feedback