         self.write(data, atPos: pos)
     }
 
+
+
+    // subclases have to override
     func delete(aID: UID) -> CUnsignedLongLong {
         
         var pos = self.seekToFileID(aID)
         
         return pos;
     }
-    
+    */
 }
        
        let pos = self.endOfFile()

        self.write(data, atPos: pos)
        
        return pos;
    }

    //#pragma mark - CRUD Data
    
    func create(data: NSData) -> UID {
        
        let pos = self.writeAtEndOfFile(data)
        
        return self.calculateID(pos)
    }

    func readData() -> NSData {
        return self.fileHandle.readDataOfLength(Int(self.dataSize));
    }
    
    func readData(length: UInt64) -> NSData {
        return self.fileHandle.readDataOfLength(Int(length))
    }

    
    func read(aID: UID) -> NSData {
        self.seekToFileID(aID)

        return self.readData()
    }


    
    func update(data: NSData, atID aID:UID) {
        
