     
     func dataRead(data:Data, sock: GCDAsyncSocket)
     {
+        var readAgain:Bool = true
+        print("received:\(data.count)")
         let mergedData:Data = mergeData(data:data)
         
         guard

        
            defer
            {
                connected?.readCommand()
            }
        }
        else if step == 3

            }
            else
            {
                print("error header type: \(header.type)")
            }
            
            defer
            {
                if readAgain
                {
                    self.connected?.readCommand()
                }
            }
            
            // size should be equal to payload if not read again if true read to next step
