add generateFPO with error