fix PFA separately
completed writing the protocol for now