Thanks for all the advice guys, I figured out the problem and am gettin better results now. The first problem was he didn't respect me as a pack leader when I called him and tried to bait him in with food he'd look at me and shake his head and walk the other way. So I had to changed a few things to his environment.
Firstly I took his food away and only fed him on a schedule, I used to leave his food out so he was never hungry and never look at me for food.
Before I fed him I'd make him do things for me like sit, stay, down and wait till I give him the word.
I also took his toys away and he could only have them on my terms, he also had to work for them.
These were the main changes I made and have gotten very good results.
Here is a link that I used which was very helpful.
Nothing in Life is Free
He is more of a dominant pup to my last dog so hes keeping me on my toes and I am still learning about training dogs and I realise they are not all the same.