Hi thanks for the replies.
In terms of more info its a bit complicated as he was an overseas rescue- an acquaintance of ours fell in love with a picture of the dog and paid his passage but he didn't cope with her other three dogs, hence he ended up with us, so we have no background/support from the rescue.
We were told he was great with people but could be agresssive towards small dogs.
This is true, but in reality he can be agressive towards any size dog- he hates small ones in particular, but for no apparent reason will also lunge at much bigger ones on occasion, (he is never off lead but dogs that are off lead bound over to him to be friendly, and we just don't know how he is going to react each time. He is very good with the dogs in his class now, but he has got to know them all, which I think makes a difference.
It also isn't true exactly that he is good with people.He is very good with us and other people he gets to know, but if any stranger tries to stroke him, he tries to nip them.
We are implementing everything we learn at classes and he has done well, but however well he behaves normally, on those occasions where he goes for other dogs/people, it is as if we have just got him, and he doesn't even seem to see/hear us trying to restrain him.
Obviously we never let him off the lead, and do try and warn strangers from touching, but the two issues we still have are other dogs off lead coming up to him which we can't really get away from, and strangers stroking him despite our warnings- they will say things like 'oh but all dogs love me' or 'i'm great with dogs, he wouldn't bite me' etc and stroke him anyway.