add reentrancy tests