almost finish 2PC and client side