button to change mode

After starting my code i found similar variation to this but i cant get it to work. this i my code. It compiles/verifies but it doesnt work. I triple check my connection but cant seem to get anything going. serial.print dont even show anything. whats wrong with my code. Help please?

int counter = 1;
int buttonPin = 2;
int ledPin1 = 13;

void setup() {
// put your setup code here, to run once:
pinMode(buttonPin, INPUT);

pinMode(ledPin1, OUTPUT);

}

void loop() {

// button count setup
digitalRead(buttonPin);
if (buttonPin = HIGH ); {
counter + 1;
}

// LED modes
if (counter == 2) {
digitalWrite(ledPin1, HIGH);
delay(650);
digitalWrite(ledPin1, LOW);
delay(250);
digitalWrite(ledPin1, HIGH);
delay(150);
digitalWrite(ledPin1, HIGH);
delay(650);
digitalWrite(ledPin1, LOW);
delay(250);
digitalWrite(ledPin1, HIGH);
Serial.print("Mode 1");
}
else if (counter == 3) {
digitalWrite(ledPin1, HIGH);
Serial.print("Mode 2");
}
else if (counter == 4) {
digitalWrite(ledPin1, HIGH);
Serial.print("Mode 3");
}
else if (counter == 5) {
digitalWrite(ledPin1, HIGH);
Serial.print("Mode 4");
}

}

Serial print works better if you put Serial.begin(9600) in setup.

Your button will almost certainly need denouncing to be used with a counter. Otherwise a single push of the button can generate many pulses and throw the counter way off. The state change detection example may also be helpful. In the IDE go to File, Example, Digital.

And what happens when counter > 5?