synched with fpcs and kfpcs branches