Me and my boyfriend met in first year univeristy and hes been an amazing and kind partner. We spend everyday together I don't have many friends so I have relied on him for my emotional support since first semester. He's very kind to me almost all the time and pays for most my meals. However I notice when he gets mad he often yells at me tells me I need to get out of his dorm late at night and walk back to my dorm. I know I can be pretty annoying and always like arguing back with him. Once he told me to shutup and I kept talking he yelled at me elbowed me multiple times in the stomach when we were sitting on the bed together. He then proceeded to yell at me as loud as he could to leave his dorm. I started crying he said sorry and I asked why he hit me. He said he didn't mean to didn't know itd hit me and just wanted to leave the bed to get up because he's mad. This is my first serious relationship I'm not sure what to do hes almost perfect besides this. Also today we got into another argument over a Christmas gift he got me. I returned it for a different item and hes mad I never told him becasue he spent a lot of money buying me a gift. He called me ungrateful and yelled at me to go back to my dorm unless I apologize. Please give me advice.