Oh, lord. I know I'm posting topics every other day and I really wouldn't be posting this if I didn't feel like I did just every single thing wrong in this situation. I need help.

My husband came home early yesterday. He was supposed to come back on the 18th, but instead surprised me at the door (he has a trucker job). So, falling in line with RPW ideals, I began to cater to him immediately. I took him into the shower, took care of him better than I have in years, offered to make him food. He seemed happy about it, but quietly so.

We ran into a snag that night in getting our 3 year old son to go to bed. He kept popping out of the room as he normally does with me, but my husband has much less patience than I and took the matter into his own hands in a way I am not comfortable with. He spanked him with a switch, as opposed to his hand. I got up in arms about it. Went outside to have a cigarette and calm down, came back in and talked calmly with him about how I felt about it. He argued but we came to the mutual agreement that if I found his way of discipline unacceptable then I would be the one to take on the discipline for him solely.

I was okay with that. Things calmed down, got better. We sat down together to watch Game of Thrones, I offered to give him a back massage. (Keep in mind that the way in the past this usually goes is that he would pet my legs and feet while we watch something, so I wanted to show him some major appreciation. Broke out the lotion, the whole 9. He was happy with it.

It came time for bed, 10. The kids wake up at 6 and that is the latest I can go to bed and get enough sleep to take care of the children to my best abilities. But he wanted to watch one more hour long episode.

I told him it was ultimately up to him but that I was very tired (I don't sleep well alone, add to that that it has been storming so badly the past three nights that the power has gotten knocked out and I live in fear of tornadoes. I live in the Midwest. I have a generally anxious personality regarding the weather.)

We both needed to get up at 6. me to take care of the kids and him to go to the DMV. He said that he thought I should stay up and take that hit to my sleep to spend time with him, as he isn't sure how long he will be home this time. So I did. I curled up into his lap and watched another episode.

Fast forward to this morning when 6 o'clock comes and his phone alarm is going off. I get up, because my three year old is awake and crawling all over us in bed. I lightly tell him what time it is (he is a notoriously HEAVY sleeper and impossible to get up, and he gets very angry when he has to...another reason I felt that we both should have gone to bed) and then get up to make my son breakfast and get my daughter out of her crib.

He remains in bed for another hour or so, me lightly reminding him that he was told to be at the DMV by the person he had talked to at the time when it opens to ensure that they get the issue resolved (a problem with his temp license).

When I go back in the last time to check, my son had wandered in and was holding my husbands glasses in his hand. I gently took them away and placed them on top of the dresser and walked him back into the living room.

Ten minutes later I hear my husband yelling from the bedroom "What the fuck did you do to my glasses?" I replied "What's wrong with your glasses?" "You broke them" he yelled back.

Now, my natural instinct was the bristle at this, because I had not. But instead I focused on the issue that made him so upset. He came walking into the living room holding them, very agitated, and I asked him to bring them to me to see if I could fix them. "You can't fucking fix them, they're broken. Now I can't fucking do what I need to do today. Thanks a lot. Fucking great." etc, etc.

I told him that I hadn't broke them and not to get upset with me, but you can imagine how well that went. He concocted a scenario that must have been my fault. I must have knocked them off of the dresser where he placed them onto the floor when I had gotten up (I had not, he did when he reached for his phone to turn the alarm off) and then our son had stepped on them.

I told him as much, anger in my voice. I did elevate the volume of my voice to match his. He then began calling me a fucking twat, a cunt, a bitch, a liar. He grabbed a cigarette out of the pack on my desk and threw the pack at me and stomped off.

After that point I saw red. I began calling him every name in the book as well, yelling. I went to the bathroom to cry. I felt like my trust had been completely shattered in that moment and I went into selfish mode. After I came out of the bathroom with my eyes swollen almost shut (I had to because he needed to use it to get ready to leave), and sat in the recliner with the baby and kept my mouth shut, staring at the tv that was playing my sons morning cartoons, saying nothing. Even when he began trying to antagonize me into saying something.

He finally left with "So YOU'RE not talking to ME because You broke my glasses. That's fucking fair. You psycho."

What do I need to do to make this different? Please help.

Edit: I need to mention that at one point he did try to lean down before leaving and stroke my face. But the words "Stupid cunt" etc. were still pounding in my head and I swatted his hand away out of reflex. He tried again and I swatted it away again, this time intentionally and balled my hand into a fist in my lap.

I will also mention that before leaving he told me that he was going to wait for me to go to sleep and then break my glasses so that I can see how I would react to this situation. Saying "I'm completely serious. Just wait." before stepping out and leaving.