work on the two phase commit