         nodeType:FDbProtocol.Type,
         completion:@escaping((FDbProtocol?) -> ()))
     {
-        let pathReference:FIRDatabaseReference = reference.child(path)
-        pathReference.observeSingleEvent(of:FIRDataEventType.value)
-        { (snapshot:FIRDataSnapshot) in
+        let pathReference:DatabaseReference = reference.child(path)
+        pathReference.observeSingleEvent(of:DataEventType.value)
+        { (snapshot:DataSnapshot) in
             
             var node:FDbProtocol?
             

    static let algoVirus:String = "algoVirus"
    static let algoAid:String = "algoAid"
    static let harvest:String = "harvest"
    private let reference:FIRDatabaseReference
    
    init()
    {
        reference = FIRDatabase.database().reference()
    }
    
    //MARK: public

    }
    
    func listen(
        eventType:DataEventType,
        path:String,
        nodeType:FDbProtocol.Type,
        completion:@escaping((FDbProtocol?) -> ())) -> UInt
    {
        let pathReference:DatabaseReference = reference.child(path)
        let handler:UInt = pathReference.observe(eventType)
        { (snapshot:DataSnapshot) in
            
            var node:FDbProtocol?
            
