add pdm gen