Problem with pcf8574

Those pesky little nifty pcf8574 I have i few working on my boards,
after trying a lot of different libery's it was clear just use wire.h

#include <Wire.h>
#define PCF8574_ADDR 0x20 // Hex
  Wire.begin();;
  Wire.beginTransmission(PCF8574_ADDR);  // Address of PCF8574 
  Wire.write(0xFF);                      // 0B11111111 aka 255
  Wire.endTransmission();
  Wire.requestFrom(PCF8574_ADDR, 1);
  currentByte = Wire.read(); 

in arduno.h you can find;

#define bitRead(value, bit) (((value) >> (bit)) & 0x01)
#define bitSet(value, bit) ((value) |= (1UL << (bit))) //sets a bit HIGH
#define bitClear(value, bit) ((value) &= ~(1UL << (bit))) // setes a bit LOW
#define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit))

so , uint8_t x bitRead(currentByte,4) will put current state of that bit into x bit values are 0-7