Help with PROGMEM

I am working on a program and I am trying to use PROGMEM. I noticed that I was not getting the results as expected so I decided to start from the basic code shown on the site and I have the same issue. Here is the sample code from the site. I expect to get 65000 sent to serial but that is not the case. What am I missing here?

#include <pgmspace.h>
//#include <avr/pgmspace.h>

// the setup routine runs once when you press reset:
void setup() {             
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
  // save some unsigned ints
  PROGMEM  prog_uint16_t charSet[]  = { 65000, 32796, 16843, 10, 11234};
  
  // save some chars
  prog_uchar signMessage[] PROGMEM  = {"I AM PREDATOR,  UNSEEN COMBATANT. CREATED BY THE UNITED STATES DEPART"};
  
  unsigned int displayInt;
  int k = 0;    // counter variable
  char myChar;  
  
  // read back a 2-byte int
   displayInt = pgm_read_word_near(charSet + k);
  
  // read back a char 
  myChar =  pgm_read_byte_near(signMessage + k); 
  Serial.println(displayInt);
  delay(1000);
}

Here:

void loop() {
  // save some unsigned ints
  PROGMEM  prog_uint16_t charSet[]  = { 65000, 32796, 16843, 10, 11234};

PROGMEM variables cannot be on the stack (in other words they cannot be auto variables). Move the declaration and it works:

// save some unsigned ints
PROGMEM  prog_uint16_t charSet[]  = { 65000, 32796, 16843, 10, 11234};

void loop() {

great thanks!