PCF8574 I2C expander - How to read button press

Hello everyone!
I came back again with a question about my PCF8574
After managing to make a I2C display based on ST7032 work i ran again into a wall
Standard code to make this display work is the following:

#include <Wire.h>
#include <ST7032.h>
#include <LiquidCrystal.h>
ST7032 lcd (0x3E);
void setup() {
  lcd.begin(16, 2);
  lcd.setContrast(30);
  lcd.print("Booting up...");
  delay(1000);
}
void loop() {
}

After i add the PCF8574 library, nothing works anymore. simply adding the lines to initialize it as an input makes the display to stop displaying text, although it does initialize and sets the desired contrast
To be honest, i won’t add any example code to this post because i’m affraid i did something terribly wrong. can someone help me read those 4 buttons on my Daisy-24 display

THORs_Hand:
To be honest, i won't add any example code to this post because i'm affraid i did something terribly wrong.

To be honest, yes you did something terribly wrong, but I have no idea what that was because you won't post it. You won't post it in case you are embarrassed. How old are you? Only the very young are so afraid of embarrassment that they miss opportunities to learn and grow for fear of embarrassment.

PaulRB:
To be honest, yes you did something terribly wrong, but I have no idea what that was because you won’t post it. You won’t post it in case you are embarrassed. How old are you? Only the very young are so afraid of embarrassment that they miss opportunities to learn and grow for fear of embarrassment.

I’m 18, and i’d feel embarrassed just because i find stuff online that simply won’t work for me although i have the same hardware :))
i used 2 code types

#include <Wire.h>
#include <ST7032.h>
#include <LiquidCrystal.h>
#include <PCF8574.h>

ST7032 lcd (0x3E);
PCF8574 pcf20(0x27);
unsigned int blinkMillis
unsigned int buttonMillis

void setup() {
  lcd.begin(16, 2);
  lcd.setContrast(30);
  lcd.print("Booting up...");
  delay(1000);
  pcf20.begin();
  lcd.clear();
  lcd.print("PCF27 init success");
  lcd.clear();
  lcd.print("Going forward")

and this one

#include <Wire.h> 

//fuzzywobble.com 2012
//this code turns every PCF8575 pin into an input (without interrupt)
//datasheet - http://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber=pcf8575&fileType=pdf
//i2c code adapted from i2c_dio_pcf8575c.cpp - Arduino class library for TI PCF8575C 16-bit I2C I/O expander

//address is |0100|A0|A1|A2|
int address = 0x20; //0100000 (7bit)  
uint16_t dataReceive; //16bit data received
uint16_t dataSend;  //16bit data sent

void setup(){ 
  Wire.begin(); 
  Serial.begin(9600);
  //turn pins to input in setup
  //if bit = 0, pin functions as input or an output that is off
  //if bit = 1, pin functions as an output that is on
  dataSend = word(B00000000,B00000000); //turn every pin to input
  pcf8575_write(dataSend); //turn the pcf8575 pins to input
} 

void loop(){ 
  dataReceive = pcf8575_read(); //read the pcf8575 pins
  Serial.print("Read, ");
  Serial.println(~dataReceive,BIN); //~ inverses the results, this removes the ambiguity of leading zero 
  /*
  Read, 1111111111111101 - p1 pressed
  Read, 1111111111111011 - p2 pressed
  Read, 1111111111110111 - p3 pressed
  */
  Serial.println("----------------------");
  delay(300);
} 


//custom functions -----------------------------

//I2C/TWI success (transaction was successful).
static const uint8_t ku8TWISuccess                   = 0;
//I2C/TWI device not present (address sent, NACK received).
static const uint8_t ku8TWIDeviceNACK                = 2;
//I2C/TWI data not received (data sent, NACK received).
static const uint8_t ku8TWIDataNACK                  = 3;
//I2C/TWI other error.
static const uint8_t ku8TWIError                     = 4;

uint8_t error;
void pcf8575_write(uint16_t dt){
  Wire.beginTransmission(address);
  Wire.send(lowByte(dt));
  Wire.send(highByte(dt));
  error = Wire.endTransmission();
  if(error == ku8TWISuccess){ //okay!
  
  }
  else{ //we have an error
    //do something here if you like
  }
}
uint8_t hi,lo;
uint16_t pcf8575_read(){
  Wire.beginTransmission(address);
  error = Wire.endTransmission();
  if(error == ku8TWISuccess){ //okay!
    Wire.requestFrom(address,2); 
    if(Wire.available()){
      lo = Wire.receive();
      hi = Wire.receive();
      return(word(hi,lo)); //joing bytes 
    }
    else{//error
      //do something here if you like  
    }
  }
  else{ //error
    //do something here if you like  
  }
}

The 1st is wrote by me using some online articles, the 2nd is off instructables, none of them work. errors while compiling with errors varying, the most common one is no matching function for call to ‘PCF8574::PCF8574(int)’