some rework on progmem