         }
     }
 
-    @discardableResult func send(command: Command, to connection: TCPClient? = nil) throws -> Response {
+    @discardableResult public func send(command: Command, to connection: TCPClient? = nil) throws -> Response {
         return try self.send(
             command: command.getCompiledPacket(),
             to: try connection ?? self.connect(),

        }
    }

    func hashGet(name: String, key: String) throws -> Data? {
        try self.connect()
        return try self.send(command: .HashGet(name: name, key: key)).details.first
    }

    func hashDelete(name: String, key: String) throws {
        try self.connect()
        try self.send(command: .HashDelete(name: name, key: key))
    }

    func increment(key: String) throws -> Int {
        try self.connect()
        let response = try self.send(command: .Increment(key: key))
        guard let result = response.details.first else {

        }
    }

    public func get(key: String) throws -> Data? {
        try self.connect()
        return try self.send(command: .Get(key: key)).details.first
    }

    public func delete(key: String) throws {
        try self.connect()
        try self.send(command: .Delete(key: key))
    }

    public func hashSet(name: String, key: String, value: Data) throws {
        try self.connect()
        let response = try self.send(command: .HashSet(name: name, key: key, value: value))
        guard response.isOK else {
