still improving the pcfg