maybe u can gently tell him u will leave him because u rnt happy with him. he might realise how bad he was to u and become better then.
yelling at u is a big problem. probably he gets pressured by u though u dont think u havent done anything wrong to him.
whats "pressure"? well, guys usually feel they always have to be a "very nice, strong, and smart guy to u"
yelling and being nice is contradicting but it happens.
dont tell him anything like "i love u so much, give me a hug". he will get more pressure.