Need advice asap!!!!!!!

Ok so me and my man been together for a while now. Ever since we've been together, his ex has been a constant issue! She called one night when I thought she was a relative and she said that she was his girlfriend. He and I fought over her for 2 months after that. He decided that he wouldn't stop being her "friend" and he swore nothing's been going on. Well, just recently he and I got into an argument over him wanting to make jokes and say that he's going to be with her, and he need her in his bed, and I hit him and we hit each other. Hurt, I look at him. He says that nothing is going on he's only joking about things but that I'm too serious about them. Well, tonight, he tells me that this same "ex" called him and questioned him about if he had a woman in his life. He says that he told her yes. That it was me. She asked him if I was black white or latina, and he told her I was black. ( she's latina and he's Latino, but I don't get why our race ever mattered) so now she's really angry. She told him no you're my man and we're going to be together. He said that she was the side chick to a prior relationship and she knew it, but she thought once he broke up with the last woman, she'd be his first choice but he chose to move on to me. Now that he's trying to " change" and get rid of hoes, she's jealous and won't stop calling. I'm pissed! I want to be the fuck out of him, punch her for disrespecting me all this time, and leave him. Ladies please give me some advice as to what to do. I've watched as he's made changes for me and I'm trying to allow him to figure things out without snapping, but my patience and understanding Running really low. I'm a good girlfriend to him, I thought he was a good boyfriend to me but now, he's got me wondering if he's been fucking her all this time. I wanna bash his head in. Head me ladies. Advice needed!