Make sure you have him under control, then take him EVERYWHERE with you and treat him when he behaves well. You may have to stay at whatever place you go to for an hour or more (we did) but once he settles down, give him treats. Associate places and people with good stuff. And do it as much as you possibly can. Have guests give him a GREAT treat as soon as they arrive, or play with him with his fave toy. It took a little time with Chester, but it did work.
Good Luck!