             }
 
             if yOffset > -(self.profileImageView.frame.height + 50) && arrayWithSubviewsTableView.containsObject(self.profileImageView) {
-                self.profileImageView.removeFromSuperview()
-                self.view.addSubview(self.profileImageView)
-                self.profileImageView.frame.origin.y = 31
+                removeViewUpdatingOrigin(31, view: self.view, viewToMove: self.profileImageView)
             } else if yOffset < -(self.profileImageView.frame.height + 50) && arrayWithSubviewsView.containsObject(self.profileImageView) {
-                self.profileImageView.removeFromSuperview()
-                self.profileImageView.frame.origin.y = yOffset - (yOffset + self.profileImageView.frame.height)/2
-                self.tableView.addSubview(self.profileImageView)
+                removeViewUpdatingOrigin(yOffset - (yOffset + self.profileImageView.frame.height)/2, view: self.tableView, viewToMove: self.profileImageView)
             } else if yOffset < -(self.profileImageView.frame.height + 50) {
                 self.profileImageView.frame.origin.y = yOffset - (yOffset + self.profileImageView.frame.height)/2
             }

            self.networkImageView.alpha = -yOffset/Constant.TableViewSkillVariables.HeightHeaderView
        }
    }
}


        if indexPath.row == 0 || indexPath.row == 1 || indexPath.row == 2 {
            var dictionary = Skills.ArrayWithSkills[indexPath.row] as! NSDictionary

            asyncUpdateOfViews(dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0), view: cell.leftGraph, label: cell.labelPercentageLeft, finalValue: dictionary["left"] as! CGFloat)
            asyncUpdateOfViews(dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0), view: cell.rightGraph, label: cell.labelPercentageRight, finalValue: dictionary["right"] as! CGFloat)

        } else if indexPath.row == 3 || indexPath.row == 5 {
            cell.separatorView.frame.size = CGSizeMake(0, 1)
            UIView.animateWithDuration(0.7, animations: { () -> Void in
