He's not perfect. You aren't either, and the two of you will never be perfect. But if he can make you laugh at least once, causes you to think twice, and if he admits to being human and making mistakes, hold onto him and give him the most you can.
Who are you to judge the life I live? I know I'm not perfect -and I don't live to be- but before you start pointing fingers... make sure you hands are clean!