         if !self.checkParameters(section: section, row: row - 1) {
             return nil
         }
+        
         var mutableRow = row
         switch mutableRow {
-        case SectionInsert.begining.rawValue:
+        case SectionPosition.begining.rawValue:
             mutableRow = 0
-            
-        case SectionInsert.end.rawValue:
+        case SectionPosition.end.rawValue:
             mutableRow = self.sectionManager.getNumberOfRows(in: section)
         default:
             break
-            
         }
         
         var indexPathes: Array<IndexPath> = [IndexPath]()

    
    public func insert(rowElement: ALRowElement, atTheBeginingOfSection section: Int, animation: UITableViewRowAnimation = .top) -> Bool {
        
        return self.insert(rowElement: rowElement, section: section, row: SectionInsert.begining.rawValue)
    }
    
    public func insert(rowElements: Array<ALRowElement>, atTheBeginingOfSection section: Int, animation: UITableViewRowAnimation = .top) -> Bool {
        
        return self.insert(rowElements: rowElements, section: section, row: SectionInsert.begining.rawValue)
    }
    
    public func insert(rowElement: ALRowElement, atTheEndOfSection section: Int, animation: UITableViewRowAnimation = .top) -> Bool {
        
        return self.insert(rowElement: rowElement, section: section, row: SectionInsert.end.rawValue)
    }
    
    public func insert(rowElements: Array<ALRowElement>, atTheEndOfSection section: Int, animation: UITableViewRowAnimation = .top) -> Bool {
        
        return self.insert(rowElements: rowElements, section: section, row: SectionInsert.end.rawValue)
    }
    
    //MARK: - Private methods

    @objc optional func tableViewWillEndDragging()
}

enum SectionPosition: Int {
    case begining = -1
    case end = -2
}
