confused about us.

So I've been with my boyfriend almost 2 years. He has been very controlling throughout the relationship. He's not so much anymore. He kissed another girl over a year ago but I forgave him. He's lied multiple times to me. But not anymore. I know it sounds bad and that I should dump him but I love him and we are getting better. But I feel like he doesn't respect me much. 
But I don't wanna lose him and I hate the thought of him being with someone else. 
What do I do?