             }, completion: { finished in })
     }
     
-    class func absolutePosition (superView: AnyObject, view: AnyObject) -> CGPoint {
+    public class func absolutePosition (superView: AnyObject, view: AnyObject) -> CGPoint {
         let window = UIApplication.sharedApplication().delegate?.window!!
         let frame = superView.convertRect(view.frame, toView: window)
         return frame.origin
     }
     
-    class func takeSnap (view: AnyObject) -> UIView {
+    public class func takeSnap (view: AnyObject) -> UIView {
         let viewSnap = view.resizableSnapshotViewFromRect(view.bounds, afterScreenUpdates: false, withCapInsets: UIEdgeInsetsZero)
         return viewSnap
     }

        self.dismiss()
    }
    
    func dismiss() {
        UIView.animateWithDuration(0.4, delay: 0, options: .CurveEaseInOut, animations: {
            self.contentView.alpha = 0
            self.tableView.alpha = 0 }, completion: { finished in

        return view
    }
    
    public func showMenu(sender : UIView, point: CGPoint) {
        
        if datasource?.RFA3dTouchNumberOfRows() == 0 {
            return
