I used the crate training method and also taught him to go right away outside. If he didn't go within the first few minutes, I put him back in the crate for about 20-30 min then took him back outside and kept repeating this until he went. Then he got lots of praise and got to play outside for a while. Of course, at the time I wasn't working so could devote the time. He's about 5 1/2 now and I'm working again so two days a week he has to hold it for about twelve and a half to thirteen hours. I don't stop anywhere on the way home those days. He hasn't messed in the house in years.