there's also a place called alpha dog where you can send your dog for some intensive work. a friend of a friend was nearly at the point of having to put her dog down because of behavioural issues and she sent her there for a couple of weeks and saw huge improvements from it.
best of luck, keep persevering as he sounds sweet