implement of FHE