first off you need to be the alpha and take charge.no dog collar or beating or treats will do this for you,so forget that crap.
there are simple things you can do that will let him know you are the alpha of the pack.dogs are descendants of wolves.
dogs,like wolves are pack animals always testing to be the alpha,always.your dominance has to be shown consistantly and frequently.this is a simple technique, no hitting yelling involved.
heres are some things you can do that will let you show the dog you are the alpha of your pack.
first thing is he does nothing unless you let him do it.you are the alpha,
when you go out a door, or in a door with him you go first,always.
he doesnt come through the door unless you say it is okay. dont yell or raise your hand at him if he doesnt do what you want immediately. show him what you want him to do.pleasantly and with patience.
hes not a mind reader and he doesnt speak english till you teach him what your saying.and believe it or not he will quickly.
if he does something wrong make the substitution buzzer sound at the nba. hell stop and look as soon as you make it and know hes messin up.do this as loud as you can with you mouth closed,just no yelling.

secondly, when walking the dog, you are in front, always,you are the alpha,the pack follows you.try this in the back yard first, for ten minutes then take off the lead and watch him still follow you around just like the lead was on.he will do this the very first time,because he's looking for the alpha, and now he knows its you.when you first start with the lead on...if he starts to take the lead, just a sharp tug on the lead will pull him back, if he's a sniffer keep your lead short dont allow him to stop and pull you to a halt, again just a light sharp tug, to let him know you aint happy and to come on.use a poodle leash for this and put it up just below his ears.
third when you get home after work, and he comes up to you wagging his tail all lovey dovey,ignore him,only you initiate contact. you are in charge.hes trying to make you do something he wants,alphas dont do that.after a little while then call him over .and tell him hello there.
and last, make him wait till your done eating, do not let him have his food till you say it is okay. this is important so they cannot be poisened teach them the command that ist isnt okay to eat till they recieve the command to eat it.i learned the trick from a neihbor who raised doberman's as security and attack dogs. dont follow a schedule of feeding,change it up ,let him know you are the one feeding him. its okay to be hungry reminds them its not always gonna be there when they think it is.

the bad thing about people is they arent pack mentality like dogs
if you do these simple things the dog will do what ever he is told
everytime.try this for a week alternating different tasks on different days,for only ten minutes a day.dogs get tired of stuff just like humans.i feel for the dog cause no one takes the time to work with him and he would be a dog you would want around if you just spent the time.its never the dogs fault either.

i have the most well mannered dalmation youll ever meet.
and hes happy because he knows who's in charge of the situation.always.
im still working with the golden retriever we took in.but he's come along way.
hope this helps out sorry so long winded.and excuse my crappy spelling.