Sometimes, you need to give him a chance.
He might not be your ideal guy, but at least give him a chance. He cares about you enough that he actually listens to you — he remembers every detail about you. The way his eyes sparkle when he asks you about your life and family. He wants to get to know everything about you. Every, little detail about you.
He loves your smile. He might be not the best at flirting, but he likes to try.
You see, he makes sacrifices to see you. He doesn't really measure for what he put in the relationship — it is not about being equal. When you love someone, there is always a little too much you do for them. He takes you to places because you like going to places. But also, he loves to get cozy and stay home with you. Sometimes, hot chocolate and you are everything that he needs. He is simple because he knows happiness can come from the simplest thing.
He adores you. He might not even say it out loud, but you notice it and feel how much he cherishes you. He never would ignore you or intentionally hurt you because you should know love is not supposed to hurt. You can feel secure around him. You also grew trusting him because he put his words through actions.
I know that he is not hard to get — maybe far from that. He might seem to obsess over you, but his obsession is merely because he loves you. Have you ever thought that sometimes loving someone more than that person loves you makes you look a little crazy? Find someone that will take care of you, not someone that makes you feel like the relationship a guessing game.
He might not be the first thing that you want but he might be the one that you need. Just stop making excuses and see, he might be the knight in shining armor that you are always longing for.