Get ready, this will be a shortened version but still loong.
You need the cat to respect you or it wont ever listen to you.
I have been fostering and training animals all my life and this is a major thing you must accomplish. You see dogs want to please you, cats want you to please them.
So, youve got to stop the smacking, and the scaring because it is counterproductive to other positive measures you take.
First thing to do is give him a week with no rules. Seriously, if he is having behavior problems you first need him to feel relaxed enough to communicate.
So, no rules and much much much pampering. Give him lots of affection, some treats, no pot (!) , and talk to him and make eye contact. Eye contact with gentle voice and reassuring words. Use his name when you pat him. He will begin to associate his name as a good thing. Take the time to allow him to get so relaxed that he will fall asleep on you. This will make a huuuge step for his trust.
Cats store stress in their ears so gentle massages there will work great.

A couple pointers for when you do want to train him are never use his name when correcting behavior. He will associate his name with discipline if you do.
You have to be patient, just like with a child. He doesnt know the language so you must teach him.
Cats communicate 95% with body language , not vocally. They vocalise as a way to communicate with us vocal creatures. So, when he meows to you, pay attention, he is trying to communicate. Figure out what he wants with trial and error and eventually you two will work out a language between you. When he feels you are interested in what he says, he will become interested in what you say. Opposite than dogs. Dog training techniques are ineffective for cats.
When you come in the door, greet kitty right away.
When you leave say goodbye.
Its all about building a relationship.
A cat wont be intimidated. This will create behavior problems.
be consistant. Dont switch up your techniques or itll never work.
A cat is a creature of routing and habbit and need a stable unchanging environment to be truly happy. A cat will punish you directly for changes, or for upsetting the routine, or neglecting to make him the centre of your world when he wants attention.
Ive got lots more info,I could go on for pages, but its all for after the first week of no rules. Get that far and Ill be glad to keep providing tips.
My advice will make a difference in your cat, trust me. Ive trained wild cats to be domesticated. I know how its done.
Feel free to email me.

sage_wisdom(at)hushmail(dot)com