
140 Wis.2d 92 (1987)
409 N.W. 2d 395
STATE of Wisconsin, Plaintiff-Respondent,
v.
Mark LUKENSMEYER,[] Defendant-Appellant.
No. 86-1068-CR.
Court of Appeals of Wisconsin.
Submitted on briefs January 16, 1987.
Decided May 12, 1987.
*95 For the defendant-appellant, there was a brief submitted by Edmund C. Carns of Oshkosh.
For the plaintiff-respondent, there was a brief submitted by Bronson C. La Follette, attorney general, and Sally L. Wellman, assistant attorney general of Madison.
Before Cane, P.J., LaRocque and Sundby, JJ.
CANE, P.J.
Mark Lukensmeyer appeals a judgment convicting him of aiding and abetting the kidnapping, aggravated battery, and first-degree sexual assault of a Green Bay woman.[1] He contends his conviction should be overturned because the state breached an agreement not to prosecute him in return for his truthful cooperation in the investigation of the woman's murder. He further argues that statements he made after signing that agreement were involuntary, and that he was prejudiced at trial by the state's use of double hearsay testimony. Because we resolve each of these issues against Lukensmeyer, we affirm.
The victim was found near death in the early morning of December 27, 1983, near a Green Bay meat packing plant's manure pit. She died minutes later. An autopsy determined that her death resulted from a *96 slash wound to her throat. In addition, the autopsy revealed a "huge number of injuries" to every part of her body, including eighty-nine separate cuts, scrapes, and bruises. The examiner also discovered a billiard ball that had been forced into the victim's vagina.
A few days later, on December 31, Lukensmeyer contacted the Green Bay Police Department, essentially offering to provide information on the murder in return for immunity from prosecution. Lukensmeyer and his attorney negotiated with the police and the Green Bay district attorney for about eight hours and arrived at a written nonprosecution agreement. In this agreement, Lukensmeyer consented to tell "whatever he [knew] about the death and events leading up to the death of" the victim. Lukensmeyer also agreed to testify for the state against anyone charged with involvement in the murder and to "[t]urn over to or reveal the location of any physical evidence requested by the Green Bay Police Department relating to" the victim's death, "or any evidence not presently known about relating to" the victim's death. Lukensmeyer further agreed to "give or testify to the complete truth."
The following clause made the agreement expressly conditional:
I, Mark Lukensmeyer, agree to all of the above and understand that this agreement is explicitly and fully conditional upon the fact that I had no part in the beating of [the victim], had no knowledge that she was going to be killed before it happened, had no involvement whatsoever in her murder, and has [sic] no knowledge of, direct or indirect, the sexual assault of [the victim] and was not present when she was sexually assaulted.
*97 In exchange, the state agreed that:
Mark Lukensmeyer will be granted immunity from prosecution with respect to the events surrounding the death of [the victim], provided he is truthful in his information provided the Green Bay Police Department and in any testimony he may give in this matter and further provided he complies fully with all the terms of this agreement.
The day after Lukensmeyer signed the agreement, he dictated to the police a signed, written statement attesting to the following version of the facts: Lukensmeyer owned a tavern in Green Bay called The Back Forty. At about 1:45 p.m., on December 26, 1983, he opened the tavern and let in three customers who had been waiting at the door. Lukensmeyer knew the three as members of a motorcycle group who went by the nicknames "Gargoyle," "A.D.," and "Bobber." Lukensmeyer and the three began drinking together shortly after he opened the tavern.
At about 6 p.m., Chris Shavlik, a woman who worked for Lukensmeyer, came in and began tending bar. By 11 p.m., with a number of other customers present, the victim arrived accompanied by a man nicknamed "Weasel." Lukensmeyer stated that the victim appeared drunk and became involved in several minor "hair-pulling" scuffles with other women but suffered no apparent injuries. Because of the fights the victim had incited, Shavlik asked Weasel at about 12:30 a.m. to remove the victim from the tavern. Weasel and the victim left, but Weasel returned about fifteen minutes later and spoke with Shavlik. Gargoyle, A.D., and Bobber were still at the tavern drinking.
*98 Lukensmeyer stated that around closing time, 12:45 a.m., he "staggered" out to his car and left Shavlik to lock up the tavern. Lukensmeyer claims that he then fell asleep in his car and woke up only when A.D. knocked on the window to ask him for a ride. With A.D. were Gargoyle, Bobber, and the victim. Lukensmeyer stated that the victim's face was bloody as if she had been "slapped up." Lukensmeyer drove the four to the packing plant manure pit on the outskirts of the city, as he claimed they requested. He stated that A.D. got out of the car, followed by Gargoyle and the victim. The three walked toward the manure pit. Lukensmeyer reportedly saw nothing until A.D. returned to the car. Then, after fifteen minutes, Gargoyle returned alone and said, "[L]et's go."
Lukensmeyer stated that on the ride back into the city no one mentioned the victim, and he did not ask any questions about her. He drove the other three home, then drove to his house at about 3:30 a.m. Later that day, he returned to the tavern, cleaned it thoroughly, and put all the garbage in a plastic bag outside the tavern.
The rest of Lukensmeyer's statement concerns his actions during the next few days. He had met with A.D., confronted him about getting him involved in a murder, then decided to get rid of the garbage he had cleaned out of the tavern the day after the murder. He and Gargoyle dumped the garbage in a bin outside Lukensmeyer's brother's place of business. In addition, Lukensmeyer admitted that he changed all four tires on the car he had driven the night of the murder in an attempt to avoid being connected with the crime. He also stated that he had cleaned out the interior of the car to remove what he believed were blood spots in *99 the back seat. Finally, Lukensmeyer's written statement contained the following: "[On the night of the victim's death] I was wearing ... the same type coat I have on right now," with the word "type" crossed out. With the deletion, the statement indicated that Lukensmeyer claimed to be wearing the same coat on the night of the crime that he wore while dictating his statement to police.
Several months after Lukensmeyer's statement, he was confronted with two possible discrepancies uncovered during a John Doe investigation. First, the investigation uncovered evidence that later on the day of the victim's death, Lukensmeyer had burned the coat he was wearing at the crime scene. This controverted Lukensmeyer's statement that he was wearing the same coat several days later when he gave his statement. Second, the investigation uncovered evidence that Lukensmeyer had never gone to his car, but had in fact watched the victim being beaten in the alley outside the tavern, had reentered the tavern, and had been present in the tavern while the victim was beaten and raped.
When confronted with these inconsistencies, Lukensmeyer admitted that he had burned his coat, but denied he had gone back into the tavern at closing time. The state told Lukensmeyer that as a result of these apparent lies, the nonprosecution deal was no longer in effect. In contrast, Lukensmeyer claims that the state merely told him that it was possible, as a result of the inconsistencies, that the agreement might be withdrawn. In March, 1985, before the firstdegree murder trial of one of the other persons present in Lukensmeyer's car, the state offered him another chance to tell the truth in return for nonprosecution. Lukensmeyer refused to change his version *100 of events. In April, 1985, Lukensmeyer was charged in connection with the victim's beating, kidnapping, and sexual assault.
On August 20, 1985, the trial court held a hearing to determine the nonprosecution agreement's validity. The court heard testimony from Shavlik and from Wayne Kruse, a friend of Lukensmeyer's with whom Lukensmeyer had spoken after the murder.
Shavlik testified that on the night of the murder, after all the customers had left, she and Lukensmeyer briefly cleaned up the tavern, then left together through a side door facing an adjacent alley. Lukensmeyer told her he would lock the door. After leaving the tavern, Shavlik saw Gargoyle, A.D., Bobber, and Weasel in the alley. Weasel pulled the victim, who had been in his car, into the alley and began striking her. She fell to the ground, and Weasel repeatedly kicked her. Shavlik testified that the area was well-lighted and that Lukensmeyer was still standing in the alley near the tavern's side door. Weasel then picked up the victim, pushed her toward A.D., Bobber, and Gargoyle, and said, "[H]ere, you can have her. F----- her brains out." The three began to strike and kick the victim while she cried out for help. Shavlik testified that she heard bones breaking. Lukensmeyer remained near the side door of the tavern and watched.
Shavlik told the three men who were beating the victim to stop. She testified that Lukensmeyer then told her to get "the hell out of there." She again told the men to stop, and again Lukensmeyer ordered her to leave. She got in her car and began to leave. Before she drove off, she saw Lukensmeyer walk toward the part of the alley where the three men were beating the victim. As she left, he was standing about eight feet from where the beating was going on.
*101 Wayne Kruse testified that he talked to Lukensmeyer at The Back Forty on December 27, 1983, the day the victim's body was discovered. Lukensmeyer told him the victim had been beaten and killed the night before and that it happened in the alley and in the bar. Lukensmeyer told Kruse that he was in the bar and that A.D., Gargoyle, and Bobber had wanted to have sex with the victim. Lukensmeyer told Kruse that he did not want to have anything to do with it, so he went over to the bar and passed out. The next thing he knew, he woke up and the men wanted him to give them a ride. Lukensmeyer told Kruse that the men had told him that while he was asleep, they beat up the victim and used a cue stick to force a billiard ball into her vagina. Kruse testified that Lukensmeyer told him he did not know why the men had beaten and raped the victim. He further testified that Lukensmeyer told him he had been extremely drunk that night and had trouble remembering exactly what happened. Kruse testified that he was not certain as to what Lukensmeyer told him as opposed to what he had been told by others.
The trial court observed the demeanor of the witnesses and explicitly found Shavlik's and Kruse's testimony credible. Accordingly, the trial court found that Lukensmeyer had violated his agreement with the state by failing to mention the destruction of his jacket and by falsely claiming that he had not returned to the tavern after closing time. The trial court determined that Lukensmeyer's breach had been material and that, as a result, the state would not be held to the nonprosecution provisions of the agreement. After his subsequent trial, Lukensmeyer was convicted as charged and sentenced to consecutive twenty-, ten-, and twenty-year terms.
*102 Initially, we note that Lukensmeyer's challenge to the nonprosecution agreement provokes questions of first impression in Wisconsin. Because neither party raised it, we do not reach the question of the agreement's fundamental validity. We assume, but do not decide, that a prosecutor may lawfully enter an agreement not to prosecute in return for cooperation in a criminal investigation.
In addition, Wisconsin law is silent as to the standards and procedures guiding interpretation of nonprosecution agreements. We conclude, however, that our supreme court's pronouncements of the standards for analyzing plea bargain agreement breaches should guide our analysis of the breach of a nonprosecution agreement. See State v. Bangert, 131 Wis. 2d 246, 389 N.W.2d 12 (1986); State v. Rivest, 106 Wis. 2d 406, 316 N.W.2d 395 (1982).
In Bangert, the defendant sought to withdraw his second-degree murder plea after the state allegedly breached a written plea agreement. Bangert consented to a no contest plea after the prosecution promised not to use the word "maximum" in its sentencing recommendation and not to oppose Bangert at any future parole hearings. However, at Bangert's sentencing hearing, the state told the trial court, "the State is not going to ask the Court to impose the maximum sentence." Id. at 287, 389 N.W.2d at 32 [emphasis supplied]. Further, after Bangert was convicted and upon the parole board's request for a recommendation, the state responded in a letter, "This prosecutor strongly opposed ever paroling this defendant." Id. [emphasis in original]. The state later withdrew the letter from Bangert's file and substituted a letter making no recommendation.
*103 In analyzing Bangert's claim of a breach by the state, the supreme court set forth the following standards:
The applicable law in this case is that a plea agreement may be vacated where a material and substantial breach of the agreement has been proved. Rivest, 106 Wis. 2d at 414. A party seeking to vacate a plea agreement has the burden of establishing "both the breach, and that the breach is sufficiently material to warrant releasing the party from its promises (prosecution or defense) before the same judge who accepted the plea, whenever possible." Id. This burden must be established by clear and convincing evidence. [State v.] Rock, 92 Wis. 2d [554,] 559 [285 N.W.2d 739, 742 (1979)].
Bangert, 131 Wis. 2d at 289, 389 N.W.2d at 32 [emphasis supplied].
The Bangert court held that the state did not materially breach its plea agreement by using the word "maximum" in its sentencing recommendation. The court held that the parties to the agreement had intended merely that the state not recommend the maximum sentence. It did not. The prosecutor's use of the word "maximum," although a technical breach, was not material. Id. at 289-90, 389 N.W.2d at 33.
The court also held that Bangert was not prejudiced by the state's letter to the parole board. Id. at 290-91, 389 N.W.2d at 33. A parole official testified that the board looked to the circumstances surrounding the crime to make its decision and that a person convicted of second-degree murder was almost never paroled at the first parole hearing. Moreover, the court held, the state effectively remedied its technical breach by withdrawing the letter. Once again, the *104 state's conduct, if a breach, was not substantial. Therefore, Bangert failed to prove by clear and convincing evidence that the state had materially and substantially breached the agreement. Id.
With the Bangert standards in mind, we turn to Lukensmeyer's claim that the trial court erred by failing to hold the state to its nonprosecution agreement. He challenges the trial court's ruling on three grounds. First, he argues that even if omitting mention of the burned jacket amounted to a breach, it was an immaterial breach and therefore not sufficient to void the nonprosecution agreement. Second, Lukensmeyer argues that the state failed to prove that he had reentered the tavern after closing time. Finally, Lukensmeyer contends that the court erroneously applied the "clear and convincing" burden in evaluating the state's evidence of material breach.
[1]
We consider these arguments in reverse order. First, we note that the Bangert court specifically endorses the "clear and convincing" standard for evaluating evidence of a plea agreement breach. We see no reason why the Bangert standard should not be applied to nonprosecution agreements. Both parties concede the conceptual similarity between nonprosecution and plea agreements. While acknowledging the similarity between the two agreements, however, Lukensmeyer argues that his breach should have been proved beyond a reasonable doubt. He reasons that proving a breach of the agreement is equivalent to proving perjury. We disagree. The state's proof of a breach did not by itself subject Lukensmeyer to criminal penalties. It only indirectly subjected Lukensmeyer to prosecution for aiding and abetting the victim's assault, rape, and kidnapping, as well as *105 several charges of perjury. Lukensmeyer received the protection of the beyond a reasonable doubt standard in his prosecution for each of these offenses. He offers no authority to support his contention that the clear and convincing standard, as applied to the nonprosecution agreement, violated his due process rights. Accordingly, we conclude that the trial court applied the correct burden to the evidence offered to show that Lukensmeyer breached the agreement.
[2]
Lukensmeyer next contends that the state failed to prove that he had reentered the tavern after closing time. Lukensmeyer challenges the credibility of the witnesses' testimony placing him in the tavern and argues that the state failed to meet its burden by offering no direct evidence that he returned to the tavern. Both of these contentions are meritless.
The credibility of a witness is for the trial court to determine, and we will not upset such a finding unless clearly erroneous. See State v. Wyss, 124 Wis. 2d 681, 694, 370 N.W.2d 745, 751 (1985); sec. 805.17(2), Stats. Here, the trial court carefully weighed the differing versions provided by Lukensmeyer and the witnesses. The court specifically found the testimony of Shavlik and Kruse to be credible. The court noted in particular that Kruse's answers were careful and thoughtful and that it believed that Kruse candidly reported his recollections of a significant conversation. The court found that Lukensmeyer's reported degree of intoxication, compared with his ability to drive and perform other acts, was not so great as to cause him to lose conscious understanding and the ability to see and assimilate what was going on around him. In short, the court carefully weighed the competing versions of the facts, the witnesses' demeanor, and the circumstances *106 surrounding the differing stories and concluded that Kruse and Shavlik presented a more credible version than Lukensmeyer. The court properly exercised its discretion in determining that Kruse and Shavlik were credible witnesses.
The testimony adduced at the hearing showed that Lukensmeyer stood by in the alley while the victim was severely beaten. He moved closer to the beating as Shavlik left the scene. The trial court found that Lukensmeyer had told Kruse that the victim was beaten and killed the night before; that Lukensmeyer was in the tavern when A.D., Bobber, and Gargoyle were going to have sex with the victim; and that he wanted nothing to do with it so he went to the bar and passed out. In contrast, Lukensmeyer claimed in his statement that he had staggered out to his car before closing time and was not present at the victim's beating and sexual assault.
Lukensmeyer breached the terms of his agreement with the state. It provided that Lukensmeyer would truthfully give all information he had about the victim's death and the events leading up to it. Moreover, Lukensmeyer agreed that he had no knowledge, either direct or indirect, that the victim had been beaten or sexually assaulted. These breaches went directly to the purpose of the agreement: to provide the state with a full, truthful account of what he knew of the crime in return for a nonprosecution promise. By failing to inform the state that he had seen the victim being severely beaten in the alley, that he had known that the victim would be sexually assaulted, and that he had been present in the tavern during the sexual assault, Lukensmeyer materially breached the agreement.
*107 [3]
As for Lukensmeyer's assertion that the state failed to prove a breach because it offered no direct evidence of his presence in the tavern, we merely note that it is mistaken. Proof need not be direct, even to prove a fact beyond a reasonable doubt. In fact, our supreme court has noted that circumstantial evidence is often stronger and more satisfactory than direct evidence. See Wyss, 124 Wis. 2d at 692, 370 N.W.2d at 751.
[4]
Because we conclude that Lukensmeyer's failure to disclose his presence during the victim's beating and sexual assault was a material breach, we need not consider Lukensmeyer's contention that burning his jacket was not a material breach. One material breach is sufficient to release the state from the nonprosecution agreement. See Rivest, 106 Wis. 2d at 414, 316 N.W.2d at 399.
Lukensmeyer also claims that his statements after he signed the nonprosecution agreement were involuntary and should have been excluded from evidence. We disagree.
[5]
In determining the voluntariness of Lukensmeyer's statement, we are bound by the trial court's findings of evidentiary or historical fact, unless they are clearly erroneous. State v. Woods, 117 Wis. 2d 701, 715, 345 N.W.2d 457, 465 (1984); sec. 805.17(2), Stats. However, we make an independent determination of the "constitutional fact" of voluntariness. Woods, 117 Wis. 2d at 715-16, 345 N.W.2d at 465. The trial court specifically found that Lukensmeyer was given his Miranda rights, understood them, and had counsel present when he gave his statement. The court found *108 nothing that suggested that Lukensmeyer was not willing to make the statement or that it resulted from duress, threats, coercion or deceit. It further found that Lukensmeyer's statement was a measured response. Nothing in the record contradicts the trial court's underlying findings.
[6]
We further conclude that Lukensmeyer's postagreement statements were voluntary in a constitutional sense. The agreement clearly spelled out its terms. Lukensmeyer knew that if he breached the agreement, it could be withdrawn. Nothing in the record shows that Lukensmeyer's initial statement to police was the result of deceit, coercion or threats.
[7]
However, Lukensmeyer further argues that when, in April, 1984, he was confronted with the inconsistencies developed by the John Doe investigation, he was not told that the agreement was off. Consequently, he argues that any statements he made after that date should have been excluded because they were made under the false assumption that the agreement was still in effect. Lukensmeyer did not raise this issue before the trial court, and consequently the trial court made no finding on whether Lukensmeyer had actually been told that the state had withdrawn its nonprosecution promise. As a result, we do not consider Lukensmeyer's argument. We note, however, that Lukensmeyer repeatedly took the fifth amendment at the trial of Randolf Whiting (Gargoyle). Such conduct is not consistent with that of a person believing he is immune from prosecution.
[8]
Finally, Lukensmeyer argues that the trial court erroneously admitted the double hearsay testimony of *109 Wayne Kruse's wife, Carol, at trial. Carol Kruse testified that her husband told her that Lukensmeyer had admitted being awake in the tavern when the billiard ball was forced into the victim's vagina. Carol Kruse also contradicted her husband's testimony that Lukensmeyer had not told him why the victim had been beaten and sexually assaulted. She testified at trial that her husband had told her that Lukensmeyer claimed these things had happened to the victim because "she was a jazzy broad, and she had it coming."
Section 908.05, Stats., allows double hearsay if each part of the testimony conforms with a hearsay exception.[2] Lukensmeyer's statement to Wayne Kruse is excluded from the definition of hearsay because it is an admission by a party opponent. Section 908.01(4)(b)1, Stats. Similarly, Wayne Kruse's statement to his wife was admissible as a prior inconsistent statement by a witness. Section 908.01(4)(a), Stats. Wayne had testified at trial, while subject to crossexamination, about the contents of his statement to Carol. His version of his statement to Carol was inconsistent with Carol's testimony regarding the same statement. Accordingly, we conclude that the double hearsay testimony was admissible. See State v. Kreuser, 91 Wis. 2d 242, 249-50, 280 N.W.2d 270, 273 (1979).
[9]
Even if Carol's testimony was not admissible, however, Lukensmeyer has shown no prejudice in light of the trial court's cautionary instruction immediately *110 after the testimony. The trial court told the jury:
Members of the Jury, this witness has advised you of the reported conversation told to her by her husband, Wayne Kruse, the prior witness. He, Wayne Kruse, reporting to this witness what Mark Lukensmeyer is alleged to have stated to Wayne Kruse on the afternoon in the Back Forty Tavern.
I have admitted this evidence for the sole purpose of its [effect] on you in your assessment of the credibility of the witness, Wayne Kruse, and for that purpose alone. It shall not be considered by you as an admission or a statement by the defendant, Mark Lukensmeyer.
We assume that a jury acts in accord with a properly given admonitory instruction. See State v. Pitsch, 124 Wis. 2d 628, 645 n. 8, 369 N.W.2d 711, 720 n. 8 (1985). Lukensmeyer has shown nothing in the record to contradict this assumption.
[10]
Finally, the admission of the testimony, even if error, does not undermine our confidence in the outcome of the trial. See State v. Dyess, 124 Wis. 2d 525, 544-45, 370 N.W.2d 222, 232 (1985). The evidence Carol Kruse's testimony put before the jury was largely cumulative.
Accordingly, we affirm the trial court's judgment of conviction.
By the Court.Judgment affirmed.
NOTES
[]  Petition to review denied.
[1]  See secs. 940.31(1), 939.50(3)(b), 940.19(2), 939.05(2)(b), and 940.225(1)(a), Stats.
[2]  We treat statements excluded from the definition of hearsay as exceptions to hearsay for the purposes of sec. 908.05.
