Just got back from shopping with 2ds. Ds2 aged four, five in may, as usual kept running off. The first two times I told him off and told him he would end up in the trolley if he did it again. He did it again to which I promptly put him in the trolley. This resulted in full screaming fit, shouting I was an evil mummy and he didnt like me. I told him screaming and calling me names was unacceptable and that if he carried on he would be sent to his bedroom when he got home. To which he started screaming, 'no no dont want to go to bed, evil mummy', so I told him to stop screaming and be nice then he wont have to go to bed. He screamed 'sorry' at me then was quiet for about 10 secs then started screaming he wanted to get out again. So I told him calmly but firmly he is being sent to his room when we get home. To which he started screaming even more. I told him if he carried on screaming he would stay in his room for 7 mins (usually he gets sent for 4 mins). He carried on screaming and throwing insults at me and now trying to punch me. So I said right you will stay for 7 mins. He screamed even more, again I warned if he carried on it would be longer. This carried on till bedroom time was then 10 mins and then 15mins. This is quite usual with him, most of the time he is a lovely boy but once he gets something in his head he goes off on one and they is now resoning with him. I can tell him if you do this , this will happen and it makes no difference.
Am I doing it wrong, or is he just really stubborn or does he have a problem understanding? Please help