Need advice :(

My boyfriend and I have been dating for 3 years now. After the 4th month when we first started talking, I caught him texting this old friend of his dirty messages. We fought, he cried begging me back saying that he made a mistake. I gave in and took him back because it was his first mistake and our relationship honestly wasn’t that serious yet.

2 years later.. I went on a girls trip to Vegas for my 22nd birthday. I wasn’t as attentive to my phone so I wasn’t texting him back as often during the whole weekend. When I came back, he told me how he felt really uncomfortable and was really upset I wasn’t communicating with him. He went on a rant about how he didn’t trust the guys in Vegas and he just wanted to make sure i was okay.. I apologized and our relationship was great for a couple months. Turns out a year after that, I caught him sending dirty texts to his coworker at the time (this went on for 2 weeks). When I found out and confronted him, he cried saying he was sorry BUT he states that the reason he was talking to this girl behind my back was because he thought I cheated on him in Vegas.

This was months ago and I decided to keep working on our relationship. Was this stupid of me to do? Since then he’s deleted his IG, FB, all sorts of social media. He even went as far as quitting his job because he thought it would give me piece of mind staying away from his coworker. He cares for me when I’m sick, cook me breakfast every morning, we come home to each other every night, and checks up on me constantly throughout the day.

I guess my questions is, can guys change? He technically never slept with both girls, he just texted them. He says he’s really sorry everytime this topic comes up, and I feel like he’s genuinely sincere about it. I just have MAJOR trust issues... I want to hear stories from girls who’s been screwed over twice from the same guy. Did your relationship get better? Did he ever cheat again? I’m so lost, I don’t want to see 3 years down the drain :(